Models¶
Base¶
This module contains base models for objects.
- class aiordr.models.base.BaseModel¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Renders¶
This module contains models for renders.
- class aiordr.models.render.Render(*, resolution: RenderResolution = RenderResolution.HD_720, globalVolume: int = 50, musicVolume: int = 50, hitsoundVolume: int = 50, showHitErrorMeter: bool = True, showUnstableRate: bool = True, showScore: bool = True, showHPBar: bool = True, showComboCounter: bool = True, showPPCounter: bool = True, showKeyOverlay: bool = True, showScoreboard: bool = True, showBorders: bool = True, showMods: bool = True, showResultScreen: bool = True, useSkinCursor: bool = True, useSkinHitsounds: bool = True, useBeatmapColors: bool = True, cursorScaleToCS: bool = False, cursorRainbow: bool = False, cursorTrailGlow: bool = False, drawFollowPoints: bool = True, drawComboNumbers: bool = True, cursorSize: float = 1.0, cursorTrail: bool = True, scaleToTheBeat: bool = False, sliderMerge: bool = False, objectsRainbow: bool = False, objectsFlashToTheBeat: bool = False, useHitCircleColor: bool = True, seizureWarning: bool = False, loadStoryboard: bool = True, loadVideo: bool = True, introBGDim: int = 0, inGameBGDim: int = 75, breakBGDim: int = 30, BGParallax: bool = False, showDanserLogo: bool = True, skip: bool = True, cursorRipples: bool = False, sliderSnakingIn: bool = True, sliderSnakingOut: bool = True, showHitCounter: bool = False, showAvatarsOnScoreboard: bool = False, showAimErrorMeter: bool = False, playNightcoreSamples: bool = True, renderID: int, date: datetime, username: str, progress: str, renderer: str, description: str, title: str, readableDate: str, isBot: bool, isVerified: bool, replayFilePath: str, videoUrl: str, mapLink: str, mapTitle: str, replayDifficulty: str, replayUsername: str, mapID: int, needToRedownload: bool, skin: str, hasCursorMiddle: bool, motionBlur960fps: bool, renderStartTime: datetime, renderEndTime: datetime, uploadEndTime: datetime, renderTotalTime: int, uploadTotalTime: int, mapLength: int, replayMods: str, removed: bool)¶
- id: int¶
- date: datetime¶
- username: str¶
- progress: str¶
- renderer: str¶
- description: str¶
- title: str¶
- readable_date: str¶
- is_bot: bool¶
- is_verified: bool¶
- replay_file_path: str¶
- video_url: str¶
- map_link: str¶
- map_title: str¶
- replay_difficulty: str¶
- replay_username: str¶
- map_id: int¶
- need_to_redownload: bool¶
- skin: str¶
- has_cursor_middle: bool¶
- motion_blur: bool¶
- render_start_time: datetime¶
- render_end_time: datetime¶
- upload_end_time: datetime¶
- render_total_time: int¶
- upload_total_time: int¶
- map_length: int¶
- replay_mods: str¶
- removed: bool¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.render.RenderCreateResponse(*, message: str, renderID: int)¶
- message: str¶
- render_id: int¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.render.RenderOptions(*, resolution: RenderResolution = RenderResolution.HD_720, globalVolume: int = 50, musicVolume: int = 50, hitsoundVolume: int = 50, showHitErrorMeter: bool = True, showUnstableRate: bool = True, showScore: bool = True, showHPBar: bool = True, showComboCounter: bool = True, showPPCounter: bool = True, showKeyOverlay: bool = True, showScoreboard: bool = True, showBorders: bool = True, showMods: bool = True, showResultScreen: bool = True, useSkinCursor: bool = True, useSkinHitsounds: bool = True, useBeatmapColors: bool = True, cursorScaleToCS: bool = False, cursorRainbow: bool = False, cursorTrailGlow: bool = False, drawFollowPoints: bool = True, drawComboNumbers: bool = True, cursorSize: float = 1.0, cursorTrail: bool = True, scaleToTheBeat: bool = False, sliderMerge: bool = False, objectsRainbow: bool = False, objectsFlashToTheBeat: bool = False, useHitCircleColor: bool = True, seizureWarning: bool = False, loadStoryboard: bool = True, loadVideo: bool = True, introBGDim: int = 0, inGameBGDim: int = 75, breakBGDim: int = 30, BGParallax: bool = False, showDanserLogo: bool = True, skip: bool = True, cursorRipples: bool = False, sliderSnakingIn: bool = True, sliderSnakingOut: bool = True, showHitCounter: bool = False, showAvatarsOnScoreboard: bool = False, showAimErrorMeter: bool = False, playNightcoreSamples: bool = True)¶
- resolution: RenderResolution¶
- global_volume: int¶
- music_volume: int¶
- hitsound_volume: int¶
- show_hit_error_meter: bool¶
- show_unstable_rate: bool¶
- show_score: bool¶
- show_hp_bar: bool¶
- show_combo_counter: bool¶
- show_pp_counter: bool¶
- show_key_overlay: bool¶
- show_scoreboard: bool¶
- show_borders: bool¶
- show_mods: bool¶
- show_result_screen: bool¶
- use_skin_cursor: bool¶
- use_skin_hitsounds: bool¶
- use_beatmap_colors: bool¶
- cursor_scale_to_cs: bool¶
- cursor_rainbow: bool¶
- cursor_trail_glow: bool¶
- draw_follow_points: bool¶
- draw_combo_numbers: bool¶
- cursor_size: float¶
- cursor_trail: bool¶
- beat_scaling: bool¶
- slider_merge: bool¶
- objects_rainbow: bool¶
- flash_objects: bool¶
- use_slider_hitcircle_color: bool¶
- seizure_warning: bool¶
- load_storyboard: bool¶
- load_video: bool¶
- intro_bg_dim: int¶
- ingame_bg_dim: int¶
- break_bg_dim: int¶
- bg_parallax: bool¶
- show_danser_logo: bool¶
- skip_intro: bool¶
- cursor_ripples: bool¶
- slider_snaking_in: bool¶
- slider_snaking_out: bool¶
- show_hit_counter: bool¶
- show_avatars_on_scoreboard: bool¶
- show_aim_error_meter: bool¶
- play_nightcore_samples: bool¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.render.RenderResolution(value)¶
An enumeration.
- SD_480 = '720x480'¶
- SD_960 = '960x540'¶
- HD_720 = '1280x720'¶
- HD_1080 = '1920x1080'¶
- class aiordr.models.render.RendersResponse(*, renders: list[Render], maxRenders: int)¶
-
- max_renders: int¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Render Servers¶
This module contains models for render servers.
- class aiordr.models.renderserver.RenderServer(*, enabled: bool, lastSeen: datetime, name: str, priority: float, oldScore: float, avgFPS: int, power: str, status: str, totalRendered: int, renderingType: str, cpu: str, gpu: str, motionBlurCapable: bool, usingOsuApi: bool, uhdCapable: bool, avgRenderTime: float, avgUploadTime: float, totalAvgTime: float, totalUploadedVideosSize: int, ownerUserId: int, ownerUsername: str, customization: RenderServerOptions)¶
- enabled: bool¶
- last_seen: datetime¶
- name: str¶
- priority: float¶
- old_score: float¶
- avg_fps: int¶
- power: str¶
- status: str¶
- total_rendered: int¶
- rendering_type: str¶
- cpu: str¶
- gpu: str¶
- motion_blur_capable: bool¶
- using_osu_api: bool¶
- uhd_capable: bool¶
- avg_render_time: float¶
- avg_upload_time: float¶
- total_avg_time: float¶
- total_uploaded_videos_size: int¶
- owner_user_id: int¶
- owner_username: str¶
- customization: RenderServerOptions¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.renderserver.RenderServerOptions(*, textColor: str, backgroundType: int)¶
- text_color: str¶
- background_type: int¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Skins¶
This module contains models for skins.
- class aiordr.models.skin.Skin(*, id: int, skin: str, presentationName: str, url: str, highResPreview: str, lowResPreview: str, gridPreview: str, hasCursorMiddle: bool, modified: bool, author: str, version: str, timesUsed: int)¶
- id: int¶
- name: str¶
- presentation_name: str¶
- url: str¶
- high_res_preview_url: str¶
- low_res_preview_url: str¶
- grid_preview_url: str¶
- has_cursor_middle: bool¶
- modified: bool¶
- author: str¶
- version: str¶
- times_used: int¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.skin.SkinCompact(*, found: bool, removed: bool, message: str, skinName: str, skinAuthor: str, downloadLink: str)¶
- found: bool¶
- removed: bool¶
- message: str¶
- skin_name: str¶
- skin_author: str¶
- download_link: str¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.skin.SkinsResponse(*, skins: list[Skin], message: str, maxSkins: int)¶
-
- message: str¶
- max_skins: int¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Error Codes¶
This module contains o!rdr API Error Codes.
- class aiordr.models.errorcode.ErrorCode(value)¶
An enumeration.
- NO_ERROR = 0¶
- EMERGENCY_STOP = 1¶
- BAD_REPLAY_FILE = 2¶
- REPLAY_DOWNLOAD_FAILED = 3¶
- NO_BEATMAP_SERVER = 4¶
- REPLAY_FILE_CORRUPTED = 5¶
- INVALID_GAMEMODE = 6¶
- NO_REPLAY_INPUT_DATA = 7¶
- NO_BEATMAP_DATA = 8¶
- NO_BEATMAP_AUDIO = 9¶
- OSU_API_ERROR = 10¶
- REPLAY_AUTO_MODE = 11¶
- REPLAY_INVALID_USERNAME = 12¶
- BEATMAP_TOO_LONG = 13¶
- PLAYER_BANNED = 14¶
- UNKNOWN_BEATMAP = 15¶
- IP_BANNED = 16¶
- USERNAME_BANNED = 17¶
- UNKNOWN_RENDER_ERROR = 18¶
- RENDER_DOWNLOAD_FAILED = 19¶
- OLD_BEATMAP_DATA = 20¶
- REPLAY_PARSE_FAILED = 21¶
- FAILED_GENERATING_VIDEO = 22¶
- FAILED_PREPARING_RENDER = 23¶
- NO_BEATMAP_NAME = 24¶
- PARTIAL_REPLAY_INPUT_DATA = 25¶
- REPLAY_INVALID_MODS = 26¶
- RENDER_GENERAL_ERROR = 27¶
- RENDER_REPLAY_DOWNLOAD_FAILED = 28¶
- REPLAY_ALREADY_RENDERED = 29¶
- STAR_RATING_TOO_HIGH = 30¶
- MAPPER_BANNED = 31¶
- BEATMAPSET_BANNED = 32¶
- REPLAY_RECENT_FAIL = 33¶
- INVALID_REPLAY_URL = 34¶
- FIELD_MISSING = 35¶
- TOO_MANY_RECENT_FAILS = 36¶
- INAPPROPRIATE_USERNAME = 37¶
- INVALID_SKIN = 38¶
- INVALID_CUSTOM_SKIN = 39¶
- SERVER_NOT_READY = 40¶
- SERVER_NOT_READY_UNVERIFIED = 41¶
Events¶
This module contains models for websocket events.
- class aiordr.models.events.RenderAddEvent(*, renderID: int)¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.events.RenderBaseEvent(*, renderID: int)¶
- render_id: int¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class aiordr.models.events.RenderFailEvent(*, renderID: int, errorMessage: str, errorCode: ErrorCode)¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- error_message: str¶
- class aiordr.models.events.RenderFinishEvent(*, renderID: int, videoUrl: str)¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- video_url: str¶
- class aiordr.models.events.RenderProgressEvent(*, renderID: int, username: str, progress: str, renderer: str, description: str)¶
- username: str¶
Username of the user who requested the render.
- progress: str¶
Status text of the render process.
- renderer: str¶
Name of the render server.
- description: str¶
Video description.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].