Module: nintendo.nex.datastore_smm2

Provides a client and server for the DataStoreProtocolSMM2. This page was generated automatically from datastore_smm2.proto.

class DataStoreClientSMM2
The client for the DataStoreProtocolSMM2.

class DataStoreServerSMM2
The server for the DataStoreProtocolSMM2.

class ClearCondition
class CourseDifficulty
class CourseOption
class CourseTag
class CourseTheme
class EventCourseOption
class GameStyle
class MultiplayerStatsKeys
class PlayStatsKeys
class UserOption

class BadgeInfo(Structure)
class CommentInfo(Structure)
class CommentPictureReqGetInfoWithoutHeaders(Structure)
class CourseInfo(Structure)
class CourseTimeStats(Structure)
class DataStoreChangeMetaCompareParam(Structure)
class DataStoreChangeMetaParam(Structure)
class DataStoreChangeMetaParamV1(Structure)
class DataStoreCompletePostParam(Structure)
class DataStoreCompletePostParamV1(Structure)
class DataStoreCompleteUpdateParam(Structure)
class DataStoreDeleteParam(Structure)
class DataStoreGetMetaParam(Structure)
class DataStoreGetNewArrivedNotificationsParam(Structure)
class DataStoreGetNotificationUrlParam(Structure)
class DataStoreGetSpecificMetaParam(Structure)
class DataStoreGetSpecificMetaParamV1(Structure)
class DataStoreKeyValue(Structure)
class DataStoreMetaInfo(Structure)
class DataStoreNotification(Structure)
class DataStoreNotificationV1(Structure)
class DataStorePasswordInfo(Structure)
class DataStorePermission(Structure)
class DataStorePersistenceInfo(Structure)
class DataStorePersistenceInitParam(Structure)
class DataStorePersistenceTarget(Structure)
class DataStorePrepareGetParam(Structure)
class DataStorePrepareGetParamV1(Structure)
class DataStorePreparePostParam(Structure)
class DataStorePreparePostParamV1(Structure)
class DataStorePrepareUpdateParam(Structure)
class DataStoreRateObjectParam(Structure)
class DataStoreRatingInfo(Structure)
class DataStoreRatingInfoWithSlot(Structure)
class DataStoreRatingInitParam(Structure)
class DataStoreRatingInitParamWithSlot(Structure)
class DataStoreRatingLog(Structure)
class DataStoreRatingTarget(Structure)
class DataStoreReqGetAdditionalMeta(Structure)
class DataStoreReqGetInfo(Structure)
class DataStoreReqGetInfoV1(Structure)
class DataStoreReqGetNotificationUrlInfo(Structure)
class DataStoreReqPostInfo(Structure)
class DataStoreReqPostInfoV1(Structure)
class DataStoreReqUpdateInfo(Structure)
class DataStoreSearchParam(Structure)
class DataStoreSearchResult(Structure)
class DataStoreSpecificMetaInfo(Structure)
class DataStoreSpecificMetaInfoV1(Structure)
class DataStoreTouchObjectParam(Structure)
class DeathPositionInfo(Structure)
class EventCourseGhostInfo(Structure)
class EventCourseHistogram(Structure)
class EventCourseInfo(Structure)
class EventCourseStatusInfo(Structure)
class EventCourseThumbnail(Structure)
class GetCoursesEventParam(Structure)
class GetCoursesParam(Structure)
class GetEventCourseGhostParam(Structure)
class GetEventCourseHistogramParam(Structure)
class GetUserOrCourseParam(Structure)
class GetUsersParam(Structure)
class GetWorldMapParam(Structure)
class RegisterUserParam(Structure)
class RelationObjectReqGetInfo(Structure)
class ReqGetInfoHeadersInfo(Structure)
class SearchCommentsInOrderParam(Structure)
class SearchCoursesBestTimeParam(Structure)
class SearchCoursesEndlessModeParam(Structure)
class SearchCoursesEventParam(Structure)
class SearchCoursesFirstClearParam(Structure)
class SearchCoursesLatestParam(Structure)
class SearchCoursesPlayedByParam(Structure)
class SearchCoursesPointRankingParam(Structure)
class SearchCoursesPositiveRatedByParam(Structure)
class SearchCoursesPostedByParam(Structure)
class SearchUsersClearedCourseParam(Structure)
class SearchUsersPlayedCourseParam(Structure)
class SearchUsersPositiveRatedCourseParam(Structure)
class SearchUsersUserPointParam(Structure)
class SearchWorldMapPickUpParam(Structure)
class SearchWorldMapPlayedByParam(Structure)
class SyncUserProfileParam(Structure)
class SyncUserProfileResult(Structure)
class UnknownStruct1(Structure)
class UnknownStruct3(Structure)
class UnknownStruct6(Structure)
class UserInfo(Structure)
class WorldMapInfo(Structure)

DataStoreClientSMM2

def __init__(client: RMCClient / HppClient)
Creates a new DataStoreClientSMM2.

async def prepare_get_object_v1(param: DataStorePrepareGetParamV1) -> DataStoreReqGetInfoV1
Calls method 1 on the server.

async def prepare_post_object_v1(param: DataStorePreparePostParamV1) -> DataStoreReqPostInfoV1
Calls method 2 on the server.

async def complete_post_object_v1(param: DataStoreCompletePostParamV1) -> None
Calls method 3 on the server.

async def delete_object(param: DataStoreDeleteParam) -> None
Calls method 4 on the server.

async def delete_objects(param: list[DataStoreDeleteParam], transactional: bool) -> list[Result]
Calls method 5 on the server.

async def change_meta_v1(param: DataStoreChangeMetaParamV1) -> None
Calls method 6 on the server.

async def change_metas_v1(data_ids: list[int], param: list[DataStoreChangeMetaParamV1], transactional: bool) -> list[Result]
Calls method 7 on the server.

async def get_meta(param: DataStoreGetMetaParam) -> DataStoreMetaInfo
Calls method 8 on the server.

async def get_metas(data_ids: list[int], param: DataStoreGetMetaParam) -> RMCResponse
Calls method 9 on the server. The RMC response has the following attributes:
info: list[DataStoreMetaInfo]
results: list[Result]

async def prepare_update_object(param: DataStorePrepareUpdateParam) -> DataStoreReqUpdateInfo
Calls method 10 on the server.

async def complete_update_object(param: DataStoreCompleteUpdateParam) -> None
Calls method 11 on the server.

async def search_object(param: DataStoreSearchParam) -> DataStoreSearchResult
Calls method 12 on the server.

async def get_notification_url(param: DataStoreGetNotificationUrlParam) -> DataStoreReqGetNotificationUrlInfo
Calls method 13 on the server.

async def get_new_arrived_notifications_v1(param: DataStoreGetNewArrivedNotificationsParam) -> RMCResponse
Calls method 14 on the server. The RMC response has the following attributes:
result: list[DataStoreNotificationV1]
has_next: bool

async def rate_object(target: DataStoreRatingTarget, param: DataStoreRateObjectParam, fetch_ratings: bool) -> DataStoreRatingInfo
Calls method 15 on the server.

async def get_rating(target: DataStoreRatingTarget, access_password: int) -> DataStoreRatingInfo
Calls method 16 on the server.

async def get_ratings(data_ids: list[int], access_password: int) -> RMCResponse
Calls method 17 on the server. The RMC response has the following attributes:
ratings: list[list[DataStoreRatingInfoWithSlot]]
results: list[Result]

async def reset_rating(target: DataStoreRatingTarget, update_password: int) -> None
Calls method 18 on the server.

async def reset_ratings(data_ids: list[int], transactional: bool) -> list[Result]
Calls method 19 on the server.

async def get_specific_meta_v1(param: DataStoreGetSpecificMetaParamV1) -> list[DataStoreSpecificMetaInfoV1]
Calls method 20 on the server.

async def post_meta_binary(param: DataStorePreparePostParam) -> int
Calls method 21 on the server.

async def touch_object(param: DataStoreTouchObjectParam) -> None
Calls method 22 on the server.

async def get_rating_with_log(target: DataStoreRatingTarget, access_password: int) -> RMCResponse
Calls method 23 on the server. The RMC response has the following attributes:
rating: DataStoreRatingInfo
log: DataStoreRatingLog

async def prepare_post_object(param: DataStorePreparePostParam) -> DataStoreReqPostInfo
Calls method 24 on the server.

async def prepare_get_object(param: DataStorePrepareGetParam) -> DataStoreReqGetInfo
Calls method 25 on the server.

async def complete_post_object(param: DataStoreCompletePostParam) -> None
Calls method 26 on the server.

async def get_new_arrived_notifications(param: DataStoreGetNewArrivedNotificationsParam) -> RMCResponse
Calls method 27 on the server. The RMC response has the following attributes:
result: list[DataStoreNotification]
has_next: bool

async def get_specific_meta(param: DataStoreGetSpecificMetaParam) -> list[DataStoreSpecificMetaInfo]
Calls method 28 on the server.

async def get_persistence_info(owner_id: int, slot_id: int) -> DataStorePersistenceInfo
Calls method 29 on the server.

async def get_persistence_infos(owner_id: int, slot_ids: list[int]) -> RMCResponse
Calls method 30 on the server. The RMC response has the following attributes:
infos: list[DataStorePersistenceInfo]
results: list[Result]

async def perpetuate_object(persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None
Calls method 31 on the server.

async def unperpetuate_object(persistence_slot_id: int, delete_last_object: bool) -> None
Calls method 32 on the server.

async def prepare_get_object_or_meta_binary(param: DataStorePrepareGetParam) -> RMCResponse
Calls method 33 on the server. The RMC response has the following attributes:
get_info: DataStoreReqGetInfo
additional_meta: DataStoreReqGetAdditionalMeta

async def get_password_info(data_id: int) -> DataStorePasswordInfo
Calls method 34 on the server.

async def get_password_infos(data_ids: list[int]) -> RMCResponse
Calls method 35 on the server. The RMC response has the following attributes:
infos: list[DataStorePasswordInfo]
results: list[Result]

async def get_metas_multiple_param(params: list[DataStoreGetMetaParam]) -> RMCResponse
Calls method 36 on the server. The RMC response has the following attributes:
infos: list[DataStoreMetaInfo]
results: list[Result]

async def complete_post_objects(data_ids: list[int]) -> None
Calls method 37 on the server.

async def change_meta(param: DataStoreChangeMetaParam) -> None
Calls method 38 on the server.

async def change_metas(data_ids: list[int], param: list[DataStoreChangeMetaParam], transactional: bool) -> list[Result]
Calls method 39 on the server.

async def rate_objects(targets: list[DataStoreRatingTarget], param: list[DataStoreRateObjectParam], transactional: bool, fetch_ratings: bool) -> RMCResponse
Calls method 40 on the server. The RMC response has the following attributes:
infos: list[DataStoreRatingInfo]
results: list[Result]

async def post_meta_binary_with_data_id(data_id: int, param: DataStorePreparePostParam) -> None
Calls method 41 on the server.

async def post_meta_binaries_with_data_id(data_ids: list[int], param: list[DataStorePreparePostParam], transactional: bool) -> list[Result]
Calls method 42 on the server.

async def rate_object_with_posting(target: DataStoreRatingTarget, rate_param: DataStoreRateObjectParam, post_param: DataStorePreparePostParam, fetch_ratings: bool) -> DataStoreRatingInfo
Calls method 43 on the server.

async def rate_objects_with_posting(targets: list[DataStoreRatingTarget], rate_param: list[DataStoreRateObjectParam], post_param: list[DataStorePreparePostParam], transactional: bool, fetch_ratings: bool) -> RMCResponse
Calls method 44 on the server. The RMC response has the following attributes:
ratings: list[DataStoreRatingInfo]
results: list[Result]

async def get_object_infos(data_ids: list[int]) -> RMCResponse
Calls method 45 on the server. The RMC response has the following attributes:
infos: list[DataStoreReqGetInfo]
results: list[Result]

async def search_object_light(param: DataStoreSearchParam) -> DataStoreSearchResult
Calls method 46 on the server.

async def register_user(param: RegisterUserParam) -> None
Calls method 47 on the server.

async def get_users(param: GetUsersParam) -> RMCResponse
Calls method 48 on the server. The RMC response has the following attributes:
users: list[UserInfo]
results: list[Result]

async def sync_user_profile(param: SyncUserProfileParam) -> SyncUserProfileResult
Calls method 49 on the server.

async def search_users_user_point(param: SearchUsersUserPointParam) -> RMCResponse
Calls method 50 on the server. The RMC response has the following attributes:
users: list[UserInfo]
ranks: list[int]
result: bool

async def search_users_played_course(param: SearchUsersPlayedCourseParam) -> list[UserInfo]
Calls method 53 on the server.

async def search_users_cleared_course(param: SearchUsersClearedCourseParam) -> list[UserInfo]
Calls method 54 on the server.

async def search_users_positive_rated_course(param: SearchUsersPositiveRatedCourseParam) -> list[UserInfo]
Calls method 55 on the server.

async def update_last_login_time() -> None
Calls method 59 on the server.

async def get_username_ng_type() -> int
Calls method 65 on the server.

async def get_courses(param: GetCoursesParam) -> RMCResponse
Calls method 70 on the server. The RMC response has the following attributes:
courses: list[CourseInfo]
results: list[Result]

async def search_courses_point_ranking(param: SearchCoursesPointRankingParam) -> RMCResponse
Calls method 71 on the server. The RMC response has the following attributes:
courses: list[CourseInfo]
ranks: list[int]
result: bool

async def search_courses_latest(param: SearchCoursesLatestParam) -> RMCResponse
Calls method 73 on the server. The RMC response has the following attributes:
courses: list[CourseInfo]
result: bool

async def search_courses_posted_by(param: SearchCoursesPostedByParam) -> RMCResponse
Calls method 74 on the server. The RMC response has the following attributes:
courses: list[CourseInfo]
result: bool

async def search_courses_positive_rated_by(param: SearchCoursesPositiveRatedByParam) -> list[CourseInfo]
Calls method 75 on the server.

async def search_courses_played_by(param: SearchCoursesPlayedByParam) -> list[CourseInfo]
Calls method 76 on the server.

async def search_courses_endless_mode(param: SearchCoursesEndlessModeParam) -> list[CourseInfo]
Calls method 79 on the server.

async def search_courses_first_clear(param: SearchCoursesFirstClearParam) -> RMCResponse
Calls method 80 on the server. The RMC response has the following attributes:
courses: list[CourseInfo]
result: bool

async def search_courses_best_time(param: SearchCoursesBestTimeParam) -> RMCResponse
Calls method 81 on the server. The RMC response has the following attributes:
courses: list[CourseInfo]
result: bool

async def get_courses_event(param: GetCoursesParam, dummy: GetCoursesEventParam) -> RMCResponse
Calls method 85 on the server. The RMC response has the following attributes:
courses: list[EventCourseInfo]
results: list[Result]

async def search_courses_event(param: SearchCoursesEventParam) -> list[EventCourseInfo]
Calls method 86 on the server.

async def search_comments_in_order(param: SearchCommentsInOrderParam) -> RMCResponse
Calls method 94 on the server. The RMC response has the following attributes:
comments: list[CommentInfo]
result: bool

async def search_comments(data_id: int) -> list[CommentInfo]
Calls method 95 on the server.

async def get_death_positions(data_id: int) -> list[DeathPositionInfo]
Calls method 103 on the server.

async def get_user_or_course(param: GetUserOrCourseParam) -> RMCResponse
Calls method 131 on the server. The RMC response has the following attributes:
user: UserInfo
course: CourseInfo

async def get_req_get_info_headers_info(type: int) -> ReqGetInfoHeadersInfo
Calls method 134 on the server.

async def get_event_course_stamp() -> int
Calls method 153 on the server.

async def get_event_course_status() -> EventCourseStatusInfo
Calls method 154 on the server.

async def get_event_course_histogram(param: GetEventCourseHistogramParam) -> EventCourseHistogram
Calls method 156 on the server.

async def get_event_course_ghost(param: GetEventCourseGhostParam) -> list[EventCourseGhostInfo]
Calls method 157 on the server.

async def get_world_map(param: GetWorldMapParam) -> RMCResponse
Calls method 160 on the server. The RMC response has the following attributes:
maps: list[WorldMapInfo]
results: list[Result]

async def search_world_map_pick_up(param: SearchWorldMapPickUpParam) -> list[WorldMapInfo]
Calls method 162 on the server.

DataStoreServerSMM2

def __init__()
Creates a new DataStoreServerSMM2.

async def logout(client: RMCClient) -> None
Called whenever a client is disconnected. May be overridden by a subclass.

async def prepare_get_object_v1(client: RMCClient, param: DataStorePrepareGetParamV1) -> DataStoreReqGetInfoV1
Handler for method 1. This method should be overridden by a subclass.

async def prepare_post_object_v1(client: RMCClient, param: DataStorePreparePostParamV1) -> DataStoreReqPostInfoV1
Handler for method 2. This method should be overridden by a subclass.

async def complete_post_object_v1(client: RMCClient, param: DataStoreCompletePostParamV1) -> None
Handler for method 3. This method should be overridden by a subclass.

async def delete_object(client: RMCClient, param: DataStoreDeleteParam) -> None
Handler for method 4. This method should be overridden by a subclass.

async def delete_objects(client: RMCClient, param: list[DataStoreDeleteParam], transactional: bool) -> list[Result]
Handler for method 5. This method should be overridden by a subclass.

async def change_meta_v1(client: RMCClient, param: DataStoreChangeMetaParamV1) -> None
Handler for method 6. This method should be overridden by a subclass.

async def change_metas_v1(client: RMCClient, data_ids: list[int], param: list[DataStoreChangeMetaParamV1], transactional: bool) -> list[Result]
Handler for method 7. This method should be overridden by a subclass.

async def get_meta(client: RMCClient, param: DataStoreGetMetaParam) -> DataStoreMetaInfo
Handler for method 8. This method should be overridden by a subclass.

async def get_metas(client: RMCClient, data_ids: list[int], param: DataStoreGetMetaParam) -> RMCResponse
Handler for method 9. This method should be overridden by a subclass. The RMC response must have the following attributes:
info: list[DataStoreMetaInfo]
results: list[Result]

async def prepare_update_object(client: RMCClient, param: DataStorePrepareUpdateParam) -> DataStoreReqUpdateInfo
Handler for method 10. This method should be overridden by a subclass.

async def complete_update_object(client: RMCClient, param: DataStoreCompleteUpdateParam) -> None
Handler for method 11. This method should be overridden by a subclass.

async def search_object(client: RMCClient, param: DataStoreSearchParam) -> DataStoreSearchResult
Handler for method 12. This method should be overridden by a subclass.

async def get_notification_url(client: RMCClient, param: DataStoreGetNotificationUrlParam) -> DataStoreReqGetNotificationUrlInfo
Handler for method 13. This method should be overridden by a subclass.

async def get_new_arrived_notifications_v1(client: RMCClient, param: DataStoreGetNewArrivedNotificationsParam) -> RMCResponse
Handler for method 14. This method should be overridden by a subclass. The RMC response must have the following attributes:
result: list[DataStoreNotificationV1]
has_next: bool

async def rate_object(client: RMCClient, target: DataStoreRatingTarget, param: DataStoreRateObjectParam, fetch_ratings: bool) -> DataStoreRatingInfo
Handler for method 15. This method should be overridden by a subclass.

async def get_rating(client: RMCClient, target: DataStoreRatingTarget, access_password: int) -> DataStoreRatingInfo
Handler for method 16. This method should be overridden by a subclass.

async def get_ratings(client: RMCClient, data_ids: list[int], access_password: int) -> RMCResponse
Handler for method 17. This method should be overridden by a subclass. The RMC response must have the following attributes:
ratings: list[list[DataStoreRatingInfoWithSlot]]
results: list[Result]

async def reset_rating(client: RMCClient, target: DataStoreRatingTarget, update_password: int) -> None
Handler for method 18. This method should be overridden by a subclass.

async def reset_ratings(client: RMCClient, data_ids: list[int], transactional: bool) -> list[Result]
Handler for method 19. This method should be overridden by a subclass.

async def get_specific_meta_v1(client: RMCClient, param: DataStoreGetSpecificMetaParamV1) -> list[DataStoreSpecificMetaInfoV1]
Handler for method 20. This method should be overridden by a subclass.

async def post_meta_binary(client: RMCClient, param: DataStorePreparePostParam) -> int
Handler for method 21. This method should be overridden by a subclass.

async def touch_object(client: RMCClient, param: DataStoreTouchObjectParam) -> None
Handler for method 22. This method should be overridden by a subclass.

async def get_rating_with_log(client: RMCClient, target: DataStoreRatingTarget, access_password: int) -> RMCResponse
Handler for method 23. This method should be overridden by a subclass. The RMC response must have the following attributes:
rating: DataStoreRatingInfo
log: DataStoreRatingLog

async def prepare_post_object(client: RMCClient, param: DataStorePreparePostParam) -> DataStoreReqPostInfo
Handler for method 24. This method should be overridden by a subclass.

async def prepare_get_object(client: RMCClient, param: DataStorePrepareGetParam) -> DataStoreReqGetInfo
Handler for method 25. This method should be overridden by a subclass.

async def complete_post_object(client: RMCClient, param: DataStoreCompletePostParam) -> None
Handler for method 26. This method should be overridden by a subclass.

async def get_new_arrived_notifications(client: RMCClient, param: DataStoreGetNewArrivedNotificationsParam) -> RMCResponse
Handler for method 27. This method should be overridden by a subclass. The RMC response must have the following attributes:
result: list[DataStoreNotification]
has_next: bool

async def get_specific_meta(client: RMCClient, param: DataStoreGetSpecificMetaParam) -> list[DataStoreSpecificMetaInfo]
Handler for method 28. This method should be overridden by a subclass.

async def get_persistence_info(client: RMCClient, owner_id: int, slot_id: int) -> DataStorePersistenceInfo
Handler for method 29. This method should be overridden by a subclass.

async def get_persistence_infos(client: RMCClient, owner_id: int, slot_ids: list[int]) -> RMCResponse
Handler for method 30. This method should be overridden by a subclass. The RMC response must have the following attributes:
infos: list[DataStorePersistenceInfo]
results: list[Result]

async def perpetuate_object(client: RMCClient, persistence_slot_id: int, data_id: int, delete_last_object: bool) -> None
Handler for method 31. This method should be overridden by a subclass.

async def unperpetuate_object(client: RMCClient, persistence_slot_id: int, delete_last_object: bool) -> None
Handler for method 32. This method should be overridden by a subclass.

async def prepare_get_object_or_meta_binary(client: RMCClient, param: DataStorePrepareGetParam) -> RMCResponse
Handler for method 33. This method should be overridden by a subclass. The RMC response must have the following attributes:
get_info: DataStoreReqGetInfo
additional_meta: DataStoreReqGetAdditionalMeta

async def get_password_info(client: RMCClient, data_id: int) -> DataStorePasswordInfo
Handler for method 34. This method should be overridden by a subclass.

async def get_password_infos(client: RMCClient, data_ids: list[int]) -> RMCResponse
Handler for method 35. This method should be overridden by a subclass. The RMC response must have the following attributes:
infos: list[DataStorePasswordInfo]
results: list[Result]

async def get_metas_multiple_param(client: RMCClient, params: list[DataStoreGetMetaParam]) -> RMCResponse
Handler for method 36. This method should be overridden by a subclass. The RMC response must have the following attributes:
infos: list[DataStoreMetaInfo]
results: list[Result]

async def complete_post_objects(client: RMCClient, data_ids: list[int]) -> None
Handler for method 37. This method should be overridden by a subclass.

async def change_meta(client: RMCClient, param: DataStoreChangeMetaParam) -> None
Handler for method 38. This method should be overridden by a subclass.

async def change_metas(client: RMCClient, data_ids: list[int], param: list[DataStoreChangeMetaParam], transactional: bool) -> list[Result]
Handler for method 39. This method should be overridden by a subclass.

async def rate_objects(client: RMCClient, targets: list[DataStoreRatingTarget], param: list[DataStoreRateObjectParam], transactional: bool, fetch_ratings: bool) -> RMCResponse
Handler for method 40. This method should be overridden by a subclass. The RMC response must have the following attributes:
infos: list[DataStoreRatingInfo]
results: list[Result]

async def post_meta_binary_with_data_id(client: RMCClient, data_id: int, param: DataStorePreparePostParam) -> None
Handler for method 41. This method should be overridden by a subclass.

async def post_meta_binaries_with_data_id(client: RMCClient, data_ids: list[int], param: list[DataStorePreparePostParam], transactional: bool) -> list[Result]
Handler for method 42. This method should be overridden by a subclass.

async def rate_object_with_posting(client: RMCClient, target: DataStoreRatingTarget, rate_param: DataStoreRateObjectParam, post_param: DataStorePreparePostParam, fetch_ratings: bool) -> DataStoreRatingInfo
Handler for method 43. This method should be overridden by a subclass.

async def rate_objects_with_posting(client: RMCClient, targets: list[DataStoreRatingTarget], rate_param: list[DataStoreRateObjectParam], post_param: list[DataStorePreparePostParam], transactional: bool, fetch_ratings: bool) -> RMCResponse
Handler for method 44. This method should be overridden by a subclass. The RMC response must have the following attributes:
ratings: list[DataStoreRatingInfo]
results: list[Result]

async def get_object_infos(client: RMCClient, data_ids: list[int]) -> RMCResponse
Handler for method 45. This method should be overridden by a subclass. The RMC response must have the following attributes:
infos: list[DataStoreReqGetInfo]
results: list[Result]

async def search_object_light(client: RMCClient, param: DataStoreSearchParam) -> DataStoreSearchResult
Handler for method 46. This method should be overridden by a subclass.

async def register_user(client: RMCClient, param: RegisterUserParam) -> None
Handler for method 47. This method should be overridden by a subclass.

async def get_users(client: RMCClient, param: GetUsersParam) -> RMCResponse
Handler for method 48. This method should be overridden by a subclass. The RMC response must have the following attributes:
users: list[UserInfo]
results: list[Result]

async def sync_user_profile(client: RMCClient, param: SyncUserProfileParam) -> SyncUserProfileResult
Handler for method 49. This method should be overridden by a subclass.

async def search_users_user_point(client: RMCClient, param: SearchUsersUserPointParam) -> RMCResponse
Handler for method 50. This method should be overridden by a subclass. The RMC response must have the following attributes:
users: list[UserInfo]
ranks: list[int]
result: bool

async def search_users_played_course(client: RMCClient, param: SearchUsersPlayedCourseParam) -> list[UserInfo]
Handler for method 53. This method should be overridden by a subclass.

async def search_users_cleared_course(client: RMCClient, param: SearchUsersClearedCourseParam) -> list[UserInfo]
Handler for method 54. This method should be overridden by a subclass.

async def search_users_positive_rated_course(client: RMCClient, param: SearchUsersPositiveRatedCourseParam) -> list[UserInfo]
Handler for method 55. This method should be overridden by a subclass.

async def update_last_login_time(client: RMCClient) -> None
Handler for method 59. This method should be overridden by a subclass.

async def get_username_ng_type(client: RMCClient) -> int
Handler for method 65. This method should be overridden by a subclass.

async def get_courses(client: RMCClient, param: GetCoursesParam) -> RMCResponse
Handler for method 70. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[CourseInfo]
results: list[Result]

async def search_courses_point_ranking(client: RMCClient, param: SearchCoursesPointRankingParam) -> RMCResponse
Handler for method 71. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[CourseInfo]
ranks: list[int]
result: bool

async def search_courses_latest(client: RMCClient, param: SearchCoursesLatestParam) -> RMCResponse
Handler for method 73. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[CourseInfo]
result: bool

async def search_courses_posted_by(client: RMCClient, param: SearchCoursesPostedByParam) -> RMCResponse
Handler for method 74. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[CourseInfo]
result: bool

async def search_courses_positive_rated_by(client: RMCClient, param: SearchCoursesPositiveRatedByParam) -> list[CourseInfo]
Handler for method 75. This method should be overridden by a subclass.

async def search_courses_played_by(client: RMCClient, param: SearchCoursesPlayedByParam) -> list[CourseInfo]
Handler for method 76. This method should be overridden by a subclass.

async def search_courses_endless_mode(client: RMCClient, param: SearchCoursesEndlessModeParam) -> list[CourseInfo]
Handler for method 79. This method should be overridden by a subclass.

async def search_courses_first_clear(client: RMCClient, param: SearchCoursesFirstClearParam) -> RMCResponse
Handler for method 80. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[CourseInfo]
result: bool

async def search_courses_best_time(client: RMCClient, param: SearchCoursesBestTimeParam) -> RMCResponse
Handler for method 81. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[CourseInfo]
result: bool

async def get_courses_event(client: RMCClient, param: GetCoursesParam, dummy: GetCoursesEventParam) -> RMCResponse
Handler for method 85. This method should be overridden by a subclass. The RMC response must have the following attributes:
courses: list[EventCourseInfo]
results: list[Result]

async def search_courses_event(client: RMCClient, param: SearchCoursesEventParam) -> list[EventCourseInfo]
Handler for method 86. This method should be overridden by a subclass.

async def search_comments_in_order(client: RMCClient, param: SearchCommentsInOrderParam) -> RMCResponse
Handler for method 94. This method should be overridden by a subclass. The RMC response must have the following attributes:
comments: list[CommentInfo]
result: bool

async def search_comments(client: RMCClient, data_id: int) -> list[CommentInfo]
Handler for method 95. This method should be overridden by a subclass.

async def get_death_positions(client: RMCClient, data_id: int) -> list[DeathPositionInfo]
Handler for method 103. This method should be overridden by a subclass.

async def get_user_or_course(client: RMCClient, param: GetUserOrCourseParam) -> RMCResponse
Handler for method 131. This method should be overridden by a subclass. The RMC response must have the following attributes:
user: UserInfo
course: CourseInfo

async def get_req_get_info_headers_info(client: RMCClient, type: int) -> ReqGetInfoHeadersInfo
Handler for method 134. This method should be overridden by a subclass.

async def get_event_course_stamp(client: RMCClient) -> int
Handler for method 153. This method should be overridden by a subclass.

async def get_event_course_status(client: RMCClient) -> EventCourseStatusInfo
Handler for method 154. This method should be overridden by a subclass.

async def get_event_course_histogram(client: RMCClient, param: GetEventCourseHistogramParam) -> EventCourseHistogram
Handler for method 156. This method should be overridden by a subclass.

async def get_event_course_ghost(client: RMCClient, param: GetEventCourseGhostParam) -> list[EventCourseGhostInfo]
Handler for method 157. This method should be overridden by a subclass.

async def get_world_map(client: RMCClient, param: GetWorldMapParam) -> RMCResponse
Handler for method 160. This method should be overridden by a subclass. The RMC response must have the following attributes:
maps: list[WorldMapInfo]
results: list[Result]

async def search_world_map_pick_up(client: RMCClient, param: SearchWorldMapPickUpParam) -> list[WorldMapInfo]
Handler for method 162. This method should be overridden by a subclass.

ClearCondition

This class defines the following constants:
NORMAL = 0
COLLECT_COINS = 4116396131
KILL_SKIPSQUEAKS = 4042480826

CourseDifficulty

This class defines the following constants:
EASY = 0
STANDARD = 1
EXPERT = 2
SUPER_EXPERT = 3

CourseOption

This class defines the following constants:
PLAY_STATS = 1
RATINGS = 2
TIME_STATS = 4
COMMENT_STATS = 8
UNK9 = 16
UNK10 = 32
UNK8 = 64
ONE_SCREEN_THUMBNAIL = 128
ENTIRE_THUMBNAIL = 256
ALL = 511

CourseTag

This class defines the following constants:
NONE = 0
STANDARD = 1
PUZZLE_SOLVING = 2
SPEEDRUN = 3
AUTOSCROLL = 4
AUTO_MARIO = 5
SHORT_AND_SWEET = 6
MULTIPLAYER_VS = 7
THEMED = 8
MUSIC = 9

CourseTheme

This class defines the following constants:
GROUND = 0
UNDERGROUND = 1
CASTLE = 2
AIRSHIP = 3
UNDERWATER = 4
GHOST_HOUSE = 5
SNOW = 6
DESERT = 7
SKY = 8
FOREST = 9

EventCourseOption

This class defines the following constants:
UNK3 = 1
GET_INFO = 2
BEST_TIME = 8
ONE_SCREEN_THUMBNAIL = 16
ENTIRE_THUMBNAIL = 32
UNK1 = 64
MEDAL_TIME = 256
GHOST = 512
ALL = 1023

GameStyle

This class defines the following constants:
SMB1 = 0
SMB3 = 1
SMW = 2
NSMBU = 3
SM3DW = 4

MultiplayerStatsKeys

This class defines the following constants:
MULTIPLAYER_SCORE = 0
VERSUS_PLAYS = 2
VERSUS_WINS = 3
COOP_PLAYS = 10
COOP_WINS = 11

PlayStatsKeys

This class defines the following constants:
PLAYS = 0
CLEARS = 1
ATTEMPTS = 2
DEATHS = 3

UserOption

This class defines the following constants:
PLAY_STATS = 1
MAKER_STATS = 2
UNK2 = 4
ENDLESS_MODE = 8
MULTIPLAYER_STATS = 16
BADGE_INFO = 32
UNK8 = 64
UNK9 = 128
UNK1 = 512
UNK7 = 1024
UNK11 = 4096
UNK13 = 8192
UNK15 = 32768
ALL = 65535

BadgeInfo

def __init__()
Creates a new BadgeInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: int
unk2: int

CommentInfo

def __init__()
Creates a new CommentInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: int
unk2: str
unk3: int
unk4: int
unk5: int
unk6: int
unk7: int
unk8: int
unk9: int
unk10: int
unk11: bool
unk12: bool
unk13: DateTime
unk14: bytes
unk15: str
picture: CommentPictureReqGetInfoWithoutHeaders = CommentPictureReqGetInfoWithoutHeaders()
unk16: int
unk17: int

CommentPictureReqGetInfoWithoutHeaders

def __init__()
Creates a new CommentPictureReqGetInfoWithoutHeaders instance. Required fields must be filled in manually.

The following fields are defined in this class:
url: str
data_type: int
unk1: int
unk2: bytes
filename: str

CourseInfo

def __init__()
Creates a new CourseInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
code: str
owner_id: int
name: str
description: str
game_style: int
course_theme: int
upload_time: DateTime
difficulty: int
tag1: int
tag2: int
unk1: int
clear_condition: int
clear_condition_magnitude: int
unk2: int
unk3: bytes
play_stats: dict[int, int]
ratings: dict[int, int]
unk4: dict[int, int]
time_stats: CourseTimeStats = CourseTimeStats()
comment_stats: dict[int, int]
unk9: int
unk10: int
unk11: int
unk12: int
one_screen_thumbnail: RelationObjectReqGetInfo = RelationObjectReqGetInfo()
entire_thumbnail: RelationObjectReqGetInfo = RelationObjectReqGetInfo()

CourseTimeStats

def __init__()
Creates a new CourseTimeStats instance. Required fields must be filled in manually.

The following fields are defined in this class:
first_completion: int
world_record_holder: int
world_record: int
upload_time: int

DataStoreChangeMetaCompareParam

def __init__()
Creates a new DataStoreChangeMetaCompareParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
comparison_flag: int
name: str
permission: DataStorePermission = DataStorePermission()
delete_permission: DataStorePermission = DataStorePermission()
period: int
meta_binary: bytes
tags: list[str]
referred_count: int
data_type: int
status: int

DataStoreChangeMetaParam

def __init__()
Creates a new DataStoreChangeMetaParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
modifies_flag: int
name: str
permission: DataStorePermission = DataStorePermission()
delete_permission: DataStorePermission = DataStorePermission()
period: int
meta_binary: bytes
tags: list[str]
update_password: int
referred_count: int
data_type: int
status: int
compare_param: DataStoreChangeMetaCompareParam = DataStoreChangeMetaCompareParam()
persistence_target: DataStorePersistenceTarget = DataStorePersistenceTarget()

DataStoreChangeMetaParamV1

def __init__()
Creates a new DataStoreChangeMetaParamV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
modifies_flag: int
name: str
permission: DataStorePermission = DataStorePermission()
delete_permission: DataStorePermission = DataStorePermission()
period: int
meta_binary: bytes
tags: list[str]
update_password: int

DataStoreCompletePostParam

def __init__()
Creates a new DataStoreCompletePostParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
success: bool

DataStoreCompletePostParamV1

def __init__()
Creates a new DataStoreCompletePostParamV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
success: bool

DataStoreCompleteUpdateParam

def __init__()
Creates a new DataStoreCompleteUpdateParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
version: int
success: bool

DataStoreDeleteParam

def __init__()
Creates a new DataStoreDeleteParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
update_password: int

DataStoreGetMetaParam

def __init__()
Creates a new DataStoreGetMetaParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int = 0
persistence_target: DataStorePersistenceTarget = DataStorePersistenceTarget()
result_option: int = 0
access_password: int = 0

DataStoreGetNewArrivedNotificationsParam

def __init__()
Creates a new DataStoreGetNewArrivedNotificationsParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
last_notification_id: int
limit: int

DataStoreGetNotificationUrlParam

def __init__()
Creates a new DataStoreGetNotificationUrlParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
previous_url: str

DataStoreGetSpecificMetaParam

def __init__()
Creates a new DataStoreGetSpecificMetaParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_ids: list[int]

DataStoreGetSpecificMetaParamV1

def __init__()
Creates a new DataStoreGetSpecificMetaParamV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_ids: list[int]

DataStoreKeyValue

def __init__()
Creates a new DataStoreKeyValue instance. Required fields must be filled in manually.

The following fields are defined in this class:
key: str
value: str

DataStoreMetaInfo

def __init__()
Creates a new DataStoreMetaInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
owner_id: int
size: int
name: str
data_type: int
meta_binary: bytes
permission: DataStorePermission = DataStorePermission()
delete_permission: DataStorePermission = DataStorePermission()
create_time: DateTime
update_time: DateTime
period: int
status: int
referred_count: int
refer_data_id: int
flag: int
referred_time: DateTime
expire_time: DateTime
tags: list[str]
ratings: list[DataStoreRatingInfoWithSlot]

DataStoreNotification

def __init__()
Creates a new DataStoreNotification instance. Required fields must be filled in manually.

The following fields are defined in this class:
notification_id: int
data_id: int

DataStoreNotificationV1

def __init__()
Creates a new DataStoreNotificationV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
notification_id: int
data_id: int

DataStorePasswordInfo

def __init__()
Creates a new DataStorePasswordInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
access_password: int
update_password: int

DataStorePermission

def __init__()
Creates a new DataStorePermission instance. Required fields must be filled in manually.

The following fields are defined in this class:
permission: int = 3
recipients: list[int] = []

DataStorePersistenceInfo

def __init__()
Creates a new DataStorePersistenceInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
owner_id: int
slot_id: int
data_id: int

DataStorePersistenceInitParam

def __init__()
Creates a new DataStorePersistenceInitParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
persistence_id: int = 65535
delete_last_object: bool = True

DataStorePersistenceTarget

def __init__()
Creates a new DataStorePersistenceTarget instance. Required fields must be filled in manually.

The following fields are defined in this class:
owner_id: int = 0
persistence_id: int = 65535

DataStorePrepareGetParam

def __init__()
Creates a new DataStorePrepareGetParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int = 0
lock_id: int = 0
persistence_target: DataStorePersistenceTarget = DataStorePersistenceTarget()
access_password: int = 0
If nex.version >= 30500:
extra_data: list[str] = []


DataStorePrepareGetParamV1

def __init__()
Creates a new DataStorePrepareGetParamV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
lock_id: int = 0

DataStorePreparePostParam

def __init__()
Creates a new DataStorePreparePostParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
size: int
name: str
data_type: int
meta_binary: bytes
permission: DataStorePermission = DataStorePermission()
delete_permission: DataStorePermission = DataStorePermission()
flag: int
period: int
refer_data_id: int = 0
tags: list[str] = []
rating_init_param: list[DataStoreRatingInitParamWithSlot] = []
persistence_init_param: DataStorePersistenceInitParam = DataStorePersistenceInitParam()
If nex.version >= 30500:
extra_data: list[str]


DataStorePreparePostParamV1

def __init__()
Creates a new DataStorePreparePostParamV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
size: int
name: str
data_type: int = 0
meta_binary: bytes = b""
permission: DataStorePermission = DataStorePermission()
delete_permission: DataStorePermission = DataStorePermission()
flag: int
period: int
refer_data_id: int = 0
tags: list[str]
rating_init_param: list[DataStoreRatingInitParamWithSlot]

DataStorePrepareUpdateParam

def __init__()
Creates a new DataStorePrepareUpdateParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
size: int
update_password: int
extra_data: list[str]

DataStoreRateObjectParam

def __init__()
Creates a new DataStoreRateObjectParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
rating_value: int
access_password: int

DataStoreRatingInfo

def __init__()
Creates a new DataStoreRatingInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
total_value: int
count: int
initial_value: int

DataStoreRatingInfoWithSlot

def __init__()
Creates a new DataStoreRatingInfoWithSlot instance. Required fields must be filled in manually.

The following fields are defined in this class:
slot: int
info: DataStoreRatingInfo = DataStoreRatingInfo()

DataStoreRatingInitParam

def __init__()
Creates a new DataStoreRatingInitParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
flag: int
internal_flag: int
lock_type: int
initial_value: int
range_min: int
range_max: int
period_hour: int
period_duration: int

DataStoreRatingInitParamWithSlot

def __init__()
Creates a new DataStoreRatingInitParamWithSlot instance. Required fields must be filled in manually.

The following fields are defined in this class:
slot: int
param: DataStoreRatingInitParam = DataStoreRatingInitParam()

DataStoreRatingLog

def __init__()
Creates a new DataStoreRatingLog instance. Required fields must be filled in manually.

The following fields are defined in this class:
is_rated: bool
pid: int
rating_value: int
lock_expiration_time: DateTime

DataStoreRatingTarget

def __init__()
Creates a new DataStoreRatingTarget instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
slot: int

DataStoreReqGetAdditionalMeta

def __init__()
Creates a new DataStoreReqGetAdditionalMeta instance. Required fields must be filled in manually.

The following fields are defined in this class:
owner_id: int
data_type: int
version: int
meta_binary: bytes

DataStoreReqGetInfo

def __init__()
Creates a new DataStoreReqGetInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
url: str
headers: list[DataStoreKeyValue]
size: int
root_ca_cert: bytes
If nex.version >= 30500:
data_id: int


DataStoreReqGetInfoV1

def __init__()
Creates a new DataStoreReqGetInfoV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
url: str
headers: list[DataStoreKeyValue]
size: int
root_ca_cert: bytes

DataStoreReqGetNotificationUrlInfo

def __init__()
Creates a new DataStoreReqGetNotificationUrlInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
url: str
key: str
query: str
root_ca_cert: bytes

DataStoreReqPostInfo

def __init__()
Creates a new DataStoreReqPostInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
url: str
headers: list[DataStoreKeyValue]
form: list[DataStoreKeyValue]
root_ca_cert: bytes

DataStoreReqPostInfoV1

def __init__()
Creates a new DataStoreReqPostInfoV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
url: str
headers: list[DataStoreKeyValue]
form: list[DataStoreKeyValue]
root_ca_cert: bytes

DataStoreReqUpdateInfo

def __init__()
Creates a new DataStoreReqUpdateInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
version: int
url: str
headers: list[DataStoreKeyValue]
form: list[DataStoreKeyValue]
root_ca_cert: bytes

DataStoreSearchParam

def __init__()
Creates a new DataStoreSearchParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
search_target: int = 1
owner_ids: list[int] = []
owner_type: int = 0
destination_ids: list[int] = []
data_type: int = 65535
created_after: DateTime = DateTime.future()
created_before: DateTime = DateTime.future()
updated_after: DateTime = DateTime.future()
updated_before: DateTime = DateTime.future()
refer_data_id: int = 0
tags: list[str] = []
result_order_column: int = 0
result_order: int = 0
result_range: ResultRange = ResultRange()
result_option: int = 0
minimal_rating_frequency: int = 0
use_cache: bool = False
total_count_enabled: bool = True
data_types: list[int] = []

DataStoreSearchResult

def __init__()
Creates a new DataStoreSearchResult instance. Required fields must be filled in manually.

The following fields are defined in this class:
total_count: int
result: list[DataStoreMetaInfo]
total_count_type: int

DataStoreSpecificMetaInfo

def __init__()
Creates a new DataStoreSpecificMetaInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
owner_id: int
size: int
data_type: int
version: int

DataStoreSpecificMetaInfoV1

def __init__()
Creates a new DataStoreSpecificMetaInfoV1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
owner_id: int
size: int
data_type: int
version: int

DataStoreTouchObjectParam

def __init__()
Creates a new DataStoreTouchObjectParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
lock_id: int
access_password: int

DeathPositionInfo

def __init__()
Creates a new DeathPositionInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
x: int
y: int
is_subworld: bool

EventCourseGhostInfo

def __init__()
Creates a new EventCourseGhostInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
replay_file: RelationObjectReqGetInfo = RelationObjectReqGetInfo()
time: int
pid: int

EventCourseHistogram

def __init__()
Creates a new EventCourseHistogram instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
unk1: int
unk2: int
unk3: int
values: list[int]
medals: dict[int, int]
unk4: int

EventCourseInfo

def __init__()
Creates a new EventCourseInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
name: str
description: str
game_style: int
course_theme: int
unk1: bool
unk2: bool
upload_time: DateTime
get_info: DataStoreReqGetInfo = DataStoreReqGetInfo()
unk3: dict[int, int]
unk4: UnknownStruct6 = UnknownStruct6()
unk5: int
one_screen_thumbnail: EventCourseThumbnail = EventCourseThumbnail()
entire_thumbnail: EventCourseThumbnail = EventCourseThumbnail()
If revision >= 1:
end_time: DateTime
unk6: int
unk7: int
unk8: int
unk9: int
best_time: int
unk10: int
medal_time: int
personal_ghost: RelationObjectReqGetInfo = RelationObjectReqGetInfo()


EventCourseStatusInfo

def __init__()
Creates a new EventCourseStatusInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: int
unk2: bool
unk3: DateTime

EventCourseThumbnail

def __init__()
Creates a new EventCourseThumbnail instance. Required fields must be filled in manually.

The following fields are defined in this class:
url: str
headers: list[DataStoreKeyValue]
filesize: int
root_ca_cert: bytes
filename: str

GetCoursesEventParam

def __init__()
Creates a new GetCoursesEventParam instance. Required fields must be filled in manually.

The following fields are defined in this class:

GetCoursesParam

def __init__()
Creates a new GetCoursesParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_ids: list[int]
option: int = 0

GetEventCourseGhostParam

def __init__()
Creates a new GetEventCourseGhostParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
time: int
count: int

GetEventCourseHistogramParam

def __init__()
Creates a new GetEventCourseHistogramParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int

GetUserOrCourseParam

def __init__()
Creates a new GetUserOrCourseParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
code: str
user_option: int = 0
course_option: int = 0

GetUsersParam

def __init__()
Creates a new GetUsersParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
pids: list[int]
option: int = 0

GetWorldMapParam

def __init__()
Creates a new GetWorldMapParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
ids: list[str]
option: int = 0

RegisterUserParam

def __init__()
Creates a new RegisterUserParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
name: str
unk1: UnknownStruct1 = UnknownStruct1()
unk2: bytes
language: int
country: str
device_id: str

RelationObjectReqGetInfo

def __init__()
Creates a new RelationObjectReqGetInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
url: str
data_type: int
size: int
unk: bytes
filename: str

ReqGetInfoHeadersInfo

def __init__()
Creates a new ReqGetInfoHeadersInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
headers: list[DataStoreKeyValue]
expiration: int

SearchCommentsInOrderParam

def __init__()
Creates a new SearchCommentsInOrderParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
range: ResultRange = ResultRange()

SearchCoursesBestTimeParam

def __init__()
Creates a new SearchCoursesBestTimeParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
pid: int
option: int = 0
range: ResultRange = ResultRange()

SearchCoursesEndlessModeParam

def __init__()
Creates a new SearchCoursesEndlessModeParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
count: int
difficulty: int

SearchCoursesEventParam

def __init__()
Creates a new SearchCoursesEventParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0

SearchCoursesFirstClearParam

def __init__()
Creates a new SearchCoursesFirstClearParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
pid: int
option: int = 0
range: ResultRange = ResultRange()

SearchCoursesLatestParam

def __init__()
Creates a new SearchCoursesLatestParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
range: ResultRange = ResultRange()

SearchCoursesPlayedByParam

def __init__()
Creates a new SearchCoursesPlayedByParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
count: int
pid: int

SearchCoursesPointRankingParam

def __init__()
Creates a new SearchCoursesPointRankingParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
range: ResultRange = ResultRange()
difficulty: int
reject_regions: list[int] = []

SearchCoursesPositiveRatedByParam

def __init__()
Creates a new SearchCoursesPositiveRatedByParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
count: int
pid: int

SearchCoursesPostedByParam

def __init__()
Creates a new SearchCoursesPostedByParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
range: ResultRange = ResultRange()
pids: list[int]

SearchUsersClearedCourseParam

def __init__()
Creates a new SearchUsersClearedCourseParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
option: int = 0
count: int

SearchUsersPlayedCourseParam

def __init__()
Creates a new SearchUsersPlayedCourseParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
option: int = 0
count: int

SearchUsersPositiveRatedCourseParam

def __init__()
Creates a new SearchUsersPositiveRatedCourseParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
data_id: int
option: int = 0
count: int

SearchUsersUserPointParam

def __init__()
Creates a new SearchUsersUserPointParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
option: int = 0
buffer: bytes
range: ResultRange = ResultRange()

SearchWorldMapPickUpParam

def __init__()
Creates a new SearchWorldMapPickUpParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
count: int

SearchWorldMapPlayedByParam

def __init__()
Creates a new SearchWorldMapPlayedByParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: int
unk2: int

SyncUserProfileParam

def __init__()
Creates a new SyncUserProfileParam instance. Required fields must be filled in manually.

The following fields are defined in this class:
username: str
unk1: UnknownStruct1 = UnknownStruct1()
unk2: bytes
unk3: int
country: str
unk4: bool
unk5: bool
unk_guid: str
unk6: int

SyncUserProfileResult

def __init__()
Creates a new SyncUserProfileResult instance. Required fields must be filled in manually.

The following fields are defined in this class:
pid: int
username: str
unk1: UnknownStruct1 = UnknownStruct1()
unk2: bytes
unk3: int
country: str
unk4: int
unk5: bool
unk6: bool

UnknownStruct1

def __init__()
Creates a new UnknownStruct1 instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: int
unk2: int
unk3: int
unk4: int

UnknownStruct3

def __init__()
Creates a new UnknownStruct3 instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: bool
unk2: DateTime

UnknownStruct6

def __init__()
Creates a new UnknownStruct6 instance. Required fields must be filled in manually.

The following fields are defined in this class:
unk1: int
unk2: int

UserInfo

def __init__()
Creates a new UserInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
pid: int
code: str
name: str
unk1: UnknownStruct1 = UnknownStruct1()
unk2: bytes
country: str
region: int
last_active: DateTime
unk3: bool
unk4: bool
unk5: bool
play_stats: dict[int, int]
maker_stats: dict[int, int]
endless_challenge_high_scores: dict[int, int]
multiplayer_stats: dict[int, int]
unk7: dict[int, int]
badges: list[BadgeInfo]
unk8: dict[int, int]
unk9: dict[int, int]
If revision >= 1:
unk10: bool
unk11: DateTime
unk12: bool

If revision >= 2:
unk13: UnknownStruct3 = UnknownStruct3()

If revision >= 3:
unk14: str
unk15: dict[int, int]
unk16: bool


WorldMapInfo

def __init__()
Creates a new WorldMapInfo instance. Required fields must be filled in manually.

The following fields are defined in this class:
id: str
owner_id: int
unk1: bytes
thumbnail: RelationObjectReqGetInfo = RelationObjectReqGetInfo()
worlds: int
levels: int
unk2: int
unk3: DateTime
data_ids: list[int]
unk4: dict[int, int]
unk5: int
unk6: int
unk7: int