vrchatapi-async 1.20.8.dev1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. vrchatapi/__init__.py +742 -0
  2. vrchatapi/api/__init__.py +23 -0
  3. vrchatapi/api/authentication_api.py +6253 -0
  4. vrchatapi/api/avatars_api.py +4234 -0
  5. vrchatapi/api/calendar_api.py +4090 -0
  6. vrchatapi/api/economy_api.py +11547 -0
  7. vrchatapi/api/favorites_api.py +2368 -0
  8. vrchatapi/api/files_api.py +6109 -0
  9. vrchatapi/api/friends_api.py +1708 -0
  10. vrchatapi/api/groups_api.py +15085 -0
  11. vrchatapi/api/instances_api.py +1754 -0
  12. vrchatapi/api/inventory_api.py +4333 -0
  13. vrchatapi/api/invite_api.py +3337 -0
  14. vrchatapi/api/jams_api.py +1446 -0
  15. vrchatapi/api/miscellaneous_api.py +2384 -0
  16. vrchatapi/api/notifications_api.py +3624 -0
  17. vrchatapi/api/playermoderation_api.py +1127 -0
  18. vrchatapi/api/prints_api.py +1478 -0
  19. vrchatapi/api/props_api.py +2269 -0
  20. vrchatapi/api/users_api.py +7894 -0
  21. vrchatapi/api/worlds_api.py +6153 -0
  22. vrchatapi/api_client.py +865 -0
  23. vrchatapi/api_response.py +21 -0
  24. vrchatapi/configuration.py +686 -0
  25. vrchatapi/exceptions.py +218 -0
  26. vrchatapi/models/__init__.py +345 -0
  27. vrchatapi/models/account_deletion_log.py +253 -0
  28. vrchatapi/models/add_favorite_request.py +246 -0
  29. vrchatapi/models/add_group_gallery_image_request.py +234 -0
  30. vrchatapi/models/admin_asset_bundle.py +337 -0
  31. vrchatapi/models/admin_unity_package.py +261 -0
  32. vrchatapi/models/age_verification_status.py +38 -0
  33. vrchatapi/models/agreement.py +280 -0
  34. vrchatapi/models/agreement_code.py +36 -0
  35. vrchatapi/models/agreement_request.py +256 -0
  36. vrchatapi/models/agreement_status.py +261 -0
  37. vrchatapi/models/api_config.py +1299 -0
  38. vrchatapi/models/api_config_access_logs_urls.py +258 -0
  39. vrchatapi/models/api_config_announcement.py +217 -0
  40. vrchatapi/models/api_config_audio_config.py +311 -0
  41. vrchatapi/models/api_config_avatar_perf_limiter.py +293 -0
  42. vrchatapi/models/api_config_constants.py +262 -0
  43. vrchatapi/models/api_config_constants_groups.py +306 -0
  44. vrchatapi/models/api_config_constants_instance.py +238 -0
  45. vrchatapi/models/api_config_constants_instancepopulationbrackets.py +262 -0
  46. vrchatapi/models/api_config_constants_instancepopulationbracketscrowded.py +216 -0
  47. vrchatapi/models/api_config_constants_instancepopulationbracketsfew.py +216 -0
  48. vrchatapi/models/api_config_constants_instancepopulationbracketsmany.py +216 -0
  49. vrchatapi/models/api_config_constants_language.py +234 -0
  50. vrchatapi/models/api_config_download_url_list.py +258 -0
  51. vrchatapi/models/api_config_events.py +314 -0
  52. vrchatapi/models/api_config_ios_version.py +216 -0
  53. vrchatapi/models/api_config_min_supported_client_build_number.py +348 -0
  54. vrchatapi/models/api_config_offline_analysis.py +216 -0
  55. vrchatapi/models/api_health.py +248 -0
  56. vrchatapi/models/avatar.py +463 -0
  57. vrchatapi/models/avatar_moderation.py +249 -0
  58. vrchatapi/models/avatar_moderation_created.py +248 -0
  59. vrchatapi/models/avatar_moderation_type.py +36 -0
  60. vrchatapi/models/avatar_performance.py +265 -0
  61. vrchatapi/models/avatar_published_listings_inner.py +271 -0
  62. vrchatapi/models/avatar_style.py +239 -0
  63. vrchatapi/models/avatar_styles.py +231 -0
  64. vrchatapi/models/avatar_unity_package_url_object.py +234 -0
  65. vrchatapi/models/badge.py +308 -0
  66. vrchatapi/models/balance.py +247 -0
  67. vrchatapi/models/ban_group_member_request.py +234 -0
  68. vrchatapi/models/boop_request.py +250 -0
  69. vrchatapi/models/calendar_day_of_week.py +42 -0
  70. vrchatapi/models/calendar_event.py +475 -0
  71. vrchatapi/models/calendar_event_access.py +37 -0
  72. vrchatapi/models/calendar_event_category.py +48 -0
  73. vrchatapi/models/calendar_event_discovery.py +247 -0
  74. vrchatapi/models/calendar_event_discovery_inclusion.py +38 -0
  75. vrchatapi/models/calendar_event_discovery_scope.py +38 -0
  76. vrchatapi/models/calendar_event_frequency.py +39 -0
  77. vrchatapi/models/calendar_event_occurrence_kind.py +38 -0
  78. vrchatapi/models/calendar_event_platform.py +38 -0
  79. vrchatapi/models/calendar_event_recurrence.py +261 -0
  80. vrchatapi/models/calendar_event_recurrence_end.py +246 -0
  81. vrchatapi/models/calendar_event_recurrence_end_type.py +37 -0
  82. vrchatapi/models/calendar_event_user_interest.py +251 -0
  83. vrchatapi/models/change_user_tags_request.py +212 -0
  84. vrchatapi/models/change_world_tags_request.py +212 -0
  85. vrchatapi/models/content_filter.py +40 -0
  86. vrchatapi/models/create_avatar_moderation_request.py +243 -0
  87. vrchatapi/models/create_avatar_request.py +324 -0
  88. vrchatapi/models/create_calendar_event_request.py +385 -0
  89. vrchatapi/models/create_file_request.py +251 -0
  90. vrchatapi/models/create_file_version_request.py +259 -0
  91. vrchatapi/models/create_group_announcement_request.py +253 -0
  92. vrchatapi/models/create_group_gallery_request.py +297 -0
  93. vrchatapi/models/create_group_invite_request.py +242 -0
  94. vrchatapi/models/create_group_post_request.py +267 -0
  95. vrchatapi/models/create_group_request.py +295 -0
  96. vrchatapi/models/create_group_role_request.py +255 -0
  97. vrchatapi/models/create_instance_request.py +384 -0
  98. vrchatapi/models/create_jam_submission_request.py +239 -0
  99. vrchatapi/models/create_listing_request.py +285 -0
  100. vrchatapi/models/create_product_request.py +270 -0
  101. vrchatapi/models/create_prop_request.py +308 -0
  102. vrchatapi/models/create_world_request.py +322 -0
  103. vrchatapi/models/current_user.py +909 -0
  104. vrchatapi/models/current_user_platform_history_inner.py +245 -0
  105. vrchatapi/models/current_user_presence.py +379 -0
  106. vrchatapi/models/decline_group_invite_request.py +211 -0
  107. vrchatapi/models/developer_type.py +39 -0
  108. vrchatapi/models/disable2_fa_result.py +211 -0
  109. vrchatapi/models/discord_details.py +216 -0
  110. vrchatapi/models/dynamic_content_row.py +276 -0
  111. vrchatapi/models/earnings_metrics.py +248 -0
  112. vrchatapi/models/earnings_metrics_totals.py +267 -0
  113. vrchatapi/models/economy_account.py +360 -0
  114. vrchatapi/models/economy_balances.py +221 -0
  115. vrchatapi/models/economy_payout.py +385 -0
  116. vrchatapi/models/economy_payout_eligibility.py +263 -0
  117. vrchatapi/models/economy_payout_list.py +219 -0
  118. vrchatapi/models/economy_payout_status.py +295 -0
  119. vrchatapi/models/equip_inventory_item_request.py +235 -0
  120. vrchatapi/models/error.py +215 -0
  121. vrchatapi/models/favorite.py +251 -0
  122. vrchatapi/models/favorite_group.py +278 -0
  123. vrchatapi/models/favorite_group_limits.py +249 -0
  124. vrchatapi/models/favorite_group_visibility.py +38 -0
  125. vrchatapi/models/favorite_limits.py +265 -0
  126. vrchatapi/models/favorite_type.py +39 -0
  127. vrchatapi/models/favorited_world.py +441 -0
  128. vrchatapi/models/feedback.py +331 -0
  129. vrchatapi/models/file.py +325 -0
  130. vrchatapi/models/file_analysis.py +281 -0
  131. vrchatapi/models/file_analysis_avatar_stats.py +575 -0
  132. vrchatapi/models/file_data.py +279 -0
  133. vrchatapi/models/file_status.py +39 -0
  134. vrchatapi/models/file_upload_url.py +212 -0
  135. vrchatapi/models/file_version.py +254 -0
  136. vrchatapi/models/file_version_upload_status.py +269 -0
  137. vrchatapi/models/finish_file_data_upload_request.py +248 -0
  138. vrchatapi/models/follow_calendar_event_request.py +234 -0
  139. vrchatapi/models/friend_status.py +250 -0
  140. vrchatapi/models/get_group_posts200_response.py +219 -0
  141. vrchatapi/models/get_user_group_instances200_response.py +248 -0
  142. vrchatapi/models/group.py +514 -0
  143. vrchatapi/models/group_access_type.py +38 -0
  144. vrchatapi/models/group_announcement.py +315 -0
  145. vrchatapi/models/group_audit_log_entry.py +287 -0
  146. vrchatapi/models/group_gallery.py +319 -0
  147. vrchatapi/models/group_gallery_file_order.py +211 -0
  148. vrchatapi/models/group_gallery_file_order_request.py +239 -0
  149. vrchatapi/models/group_gallery_image.py +301 -0
  150. vrchatapi/models/group_instance.py +257 -0
  151. vrchatapi/models/group_join_request_action.py +37 -0
  152. vrchatapi/models/group_join_state.py +39 -0
  153. vrchatapi/models/group_member.py +415 -0
  154. vrchatapi/models/group_member_limited_user.py +290 -0
  155. vrchatapi/models/group_member_status.py +41 -0
  156. vrchatapi/models/group_my_member.py +399 -0
  157. vrchatapi/models/group_permission.py +260 -0
  158. vrchatapi/models/group_permissions.py +63 -0
  159. vrchatapi/models/group_post.py +317 -0
  160. vrchatapi/models/group_post_visibility.py +37 -0
  161. vrchatapi/models/group_privacy.py +37 -0
  162. vrchatapi/models/group_role.py +309 -0
  163. vrchatapi/models/group_role_template.py +39 -0
  164. vrchatapi/models/group_role_template_values.py +254 -0
  165. vrchatapi/models/group_role_template_values_roles.py +253 -0
  166. vrchatapi/models/group_search_sort.py +37 -0
  167. vrchatapi/models/group_transferable.py +215 -0
  168. vrchatapi/models/group_transferable_requirements.py +266 -0
  169. vrchatapi/models/group_user_visibility.py +38 -0
  170. vrchatapi/models/image_animation_style.py +62 -0
  171. vrchatapi/models/image_loop_style.py +37 -0
  172. vrchatapi/models/image_mask.py +41 -0
  173. vrchatapi/models/image_purpose.py +46 -0
  174. vrchatapi/models/info_push.py +306 -0
  175. vrchatapi/models/info_push_data.py +288 -0
  176. vrchatapi/models/info_push_data_article.py +215 -0
  177. vrchatapi/models/info_push_data_article_content.py +251 -0
  178. vrchatapi/models/info_push_data_clickable.py +224 -0
  179. vrchatapi/models/instance.py +597 -0
  180. vrchatapi/models/instance_content_settings.py +236 -0
  181. vrchatapi/models/instance_platforms.py +222 -0
  182. vrchatapi/models/instance_region.py +40 -0
  183. vrchatapi/models/instance_short_name_response.py +248 -0
  184. vrchatapi/models/instance_type.py +40 -0
  185. vrchatapi/models/inventory.py +247 -0
  186. vrchatapi/models/inventory_consumption_results.py +255 -0
  187. vrchatapi/models/inventory_default_attributes_value.py +243 -0
  188. vrchatapi/models/inventory_default_attributes_value_validator.py +211 -0
  189. vrchatapi/models/inventory_drop.py +331 -0
  190. vrchatapi/models/inventory_equip_slot.py +39 -0
  191. vrchatapi/models/inventory_flag.py +43 -0
  192. vrchatapi/models/inventory_item.py +420 -0
  193. vrchatapi/models/inventory_item_type.py +42 -0
  194. vrchatapi/models/inventory_metadata.py +287 -0
  195. vrchatapi/models/inventory_notification_details.py +244 -0
  196. vrchatapi/models/inventory_spawn.py +216 -0
  197. vrchatapi/models/inventory_template.py +351 -0
  198. vrchatapi/models/inventory_user_attributes.py +250 -0
  199. vrchatapi/models/invite_message.py +276 -0
  200. vrchatapi/models/invite_message_type.py +39 -0
  201. vrchatapi/models/invite_request.py +243 -0
  202. vrchatapi/models/invite_response.py +235 -0
  203. vrchatapi/models/jam.py +302 -0
  204. vrchatapi/models/jam_state_change_dates.py +276 -0
  205. vrchatapi/models/jam_submission.py +275 -0
  206. vrchatapi/models/join_group_request.py +234 -0
  207. vrchatapi/models/license.py +261 -0
  208. vrchatapi/models/license_action.py +37 -0
  209. vrchatapi/models/license_group.py +235 -0
  210. vrchatapi/models/license_type.py +39 -0
  211. vrchatapi/models/limited_group.py +377 -0
  212. vrchatapi/models/limited_unity_package.py +251 -0
  213. vrchatapi/models/limited_user_friend.py +399 -0
  214. vrchatapi/models/limited_user_groups.py +386 -0
  215. vrchatapi/models/limited_user_instance.py +430 -0
  216. vrchatapi/models/limited_user_search.py +395 -0
  217. vrchatapi/models/limited_world.py +410 -0
  218. vrchatapi/models/mime_type.py +50 -0
  219. vrchatapi/models/model_print.py +299 -0
  220. vrchatapi/models/moderate_user_request.py +217 -0
  221. vrchatapi/models/moderation_report.py +296 -0
  222. vrchatapi/models/mutual_friend.py +302 -0
  223. vrchatapi/models/mutuals.py +217 -0
  224. vrchatapi/models/notification.py +283 -0
  225. vrchatapi/models/notification_detail_invite.py +250 -0
  226. vrchatapi/models/notification_detail_invite_response.py +242 -0
  227. vrchatapi/models/notification_detail_request_invite.py +239 -0
  228. vrchatapi/models/notification_detail_request_invite_response.py +242 -0
  229. vrchatapi/models/notification_detail_vote_to_kick.py +242 -0
  230. vrchatapi/models/notification_type.py +43 -0
  231. vrchatapi/models/notification_v2.py +466 -0
  232. vrchatapi/models/notification_v2_details_boop.py +255 -0
  233. vrchatapi/models/notification_v2_response.py +259 -0
  234. vrchatapi/models/notification_v2_type.py +58 -0
  235. vrchatapi/models/ok_status.py +211 -0
  236. vrchatapi/models/ok_status2.py +234 -0
  237. vrchatapi/models/order_option.py +37 -0
  238. vrchatapi/models/order_option_short.py +37 -0
  239. vrchatapi/models/paginated_calendar_event_list.py +255 -0
  240. vrchatapi/models/paginated_group_audit_log_entry_list.py +255 -0
  241. vrchatapi/models/paginated_moderation_report_list.py +255 -0
  242. vrchatapi/models/past_display_name.py +241 -0
  243. vrchatapi/models/pending2_fa_result.py +239 -0
  244. vrchatapi/models/performance_limiter_info.py +234 -0
  245. vrchatapi/models/performance_ratings.py +41 -0
  246. vrchatapi/models/permission.py +280 -0
  247. vrchatapi/models/permission_data.py +258 -0
  248. vrchatapi/models/platform_build_info.py +242 -0
  249. vrchatapi/models/player_moderation.py +276 -0
  250. vrchatapi/models/player_moderation_type.py +44 -0
  251. vrchatapi/models/print_files.py +239 -0
  252. vrchatapi/models/private_profile.py +267 -0
  253. vrchatapi/models/private_profile_activity.py +292 -0
  254. vrchatapi/models/product.py +389 -0
  255. vrchatapi/models/product_listing.py +538 -0
  256. vrchatapi/models/product_listing_type.py +39 -0
  257. vrchatapi/models/product_listing_variant.py +272 -0
  258. vrchatapi/models/product_purchase.py +571 -0
  259. vrchatapi/models/product_purchase_history.py +256 -0
  260. vrchatapi/models/product_purchase_location_type.py +46 -0
  261. vrchatapi/models/product_purchase_product.py +269 -0
  262. vrchatapi/models/product_purchase_purchase_context.py +250 -0
  263. vrchatapi/models/product_purchase_record.py +312 -0
  264. vrchatapi/models/product_type.py +39 -0
  265. vrchatapi/models/profile_represented_group.py +262 -0
  266. vrchatapi/models/prop.py +358 -0
  267. vrchatapi/models/prop_publish_status.py +234 -0
  268. vrchatapi/models/prop_unity_package.py +269 -0
  269. vrchatapi/models/public_profile.py +398 -0
  270. vrchatapi/models/purchase_context_data.py +251 -0
  271. vrchatapi/models/purchase_product_listing_request.py +281 -0
  272. vrchatapi/models/region.py +42 -0
  273. vrchatapi/models/register_user_account_request.py +278 -0
  274. vrchatapi/models/release_status.py +39 -0
  275. vrchatapi/models/report_category.py +226 -0
  276. vrchatapi/models/report_reason.py +216 -0
  277. vrchatapi/models/represented_group.py +348 -0
  278. vrchatapi/models/request_invite_request.py +235 -0
  279. vrchatapi/models/respond_group_join_request.py +217 -0
  280. vrchatapi/models/respond_notification_v2_request.py +242 -0
  281. vrchatapi/models/response.py +217 -0
  282. vrchatapi/models/reward_badge.py +308 -0
  283. vrchatapi/models/reward_redemption.py +220 -0
  284. vrchatapi/models/reward_redemption_data.py +224 -0
  285. vrchatapi/models/reward_redemption_request.py +211 -0
  286. vrchatapi/models/reward_redemption_result.py +250 -0
  287. vrchatapi/models/search_group_members200_response.py +224 -0
  288. vrchatapi/models/seller_eligibility.py +211 -0
  289. vrchatapi/models/sent_notification.py +278 -0
  290. vrchatapi/models/service_queue_stats.py +234 -0
  291. vrchatapi/models/service_status.py +281 -0
  292. vrchatapi/models/share_inventory_item_direct_request.py +239 -0
  293. vrchatapi/models/sort_option.py +53 -0
  294. vrchatapi/models/sort_option_product_purchase.py +36 -0
  295. vrchatapi/models/store.py +372 -0
  296. vrchatapi/models/store_context.py +249 -0
  297. vrchatapi/models/store_shelf.py +304 -0
  298. vrchatapi/models/store_type.py +38 -0
  299. vrchatapi/models/store_view.py +40 -0
  300. vrchatapi/models/submit_moderation_report_request.py +263 -0
  301. vrchatapi/models/submit_moderation_report_request_details.py +283 -0
  302. vrchatapi/models/subscription.py +301 -0
  303. vrchatapi/models/subscription_period.py +40 -0
  304. vrchatapi/models/success.py +215 -0
  305. vrchatapi/models/success_flag.py +211 -0
  306. vrchatapi/models/tilia_kyc.py +246 -0
  307. vrchatapi/models/tilia_status.py +259 -0
  308. vrchatapi/models/tilia_tos.py +211 -0
  309. vrchatapi/models/token_bundle.py +286 -0
  310. vrchatapi/models/transaction.py +322 -0
  311. vrchatapi/models/transaction_agreement.py +353 -0
  312. vrchatapi/models/transaction_status.py +39 -0
  313. vrchatapi/models/transaction_steam_info.py +271 -0
  314. vrchatapi/models/transaction_steam_wallet_info.py +227 -0
  315. vrchatapi/models/transfer_group_request.py +234 -0
  316. vrchatapi/models/tutorial_status.py +255 -0
  317. vrchatapi/models/two_factor_auth_code.py +211 -0
  318. vrchatapi/models/two_factor_email_code.py +211 -0
  319. vrchatapi/models/two_factor_recovery_codes.py +247 -0
  320. vrchatapi/models/two_factor_recovery_codes_otp_inner.py +216 -0
  321. vrchatapi/models/unity_package.py +360 -0
  322. vrchatapi/models/update_asset_review_notes_request.py +234 -0
  323. vrchatapi/models/update_avatar_request.py +293 -0
  324. vrchatapi/models/update_calendar_event_request.py +365 -0
  325. vrchatapi/models/update_favorite_group_request.py +246 -0
  326. vrchatapi/models/update_group_gallery_request.py +297 -0
  327. vrchatapi/models/update_group_member_request.py +256 -0
  328. vrchatapi/models/update_group_representation_request.py +234 -0
  329. vrchatapi/models/update_group_request.py +300 -0
  330. vrchatapi/models/update_group_role_request.py +255 -0
  331. vrchatapi/models/update_inventory_item_request.py +254 -0
  332. vrchatapi/models/update_invite_message_request.py +211 -0
  333. vrchatapi/models/update_listing_request.py +211 -0
  334. vrchatapi/models/update_product_request.py +261 -0
  335. vrchatapi/models/update_prop_request.py +303 -0
  336. vrchatapi/models/update_tilia_tos_request.py +211 -0
  337. vrchatapi/models/update_user_badge_request.py +216 -0
  338. vrchatapi/models/update_user_note_request.py +239 -0
  339. vrchatapi/models/update_user_request.py +358 -0
  340. vrchatapi/models/update_world_request.py +317 -0
  341. vrchatapi/models/user.py +549 -0
  342. vrchatapi/models/user_credits_eligible.py +216 -0
  343. vrchatapi/models/user_exists.py +242 -0
  344. vrchatapi/models/user_note.py +273 -0
  345. vrchatapi/models/user_note_target_user.py +277 -0
  346. vrchatapi/models/user_state.py +38 -0
  347. vrchatapi/models/user_status.py +40 -0
  348. vrchatapi/models/user_subscription.py +330 -0
  349. vrchatapi/models/user_subscription_eligible.py +274 -0
  350. vrchatapi/models/verify2_fa_email_code_result.py +211 -0
  351. vrchatapi/models/verify2_fa_result.py +216 -0
  352. vrchatapi/models/verify_auth_token_result.py +217 -0
  353. vrchatapi/models/world.py +459 -0
  354. vrchatapi/models/world_metadata.py +216 -0
  355. vrchatapi/models/world_publish_status.py +234 -0
  356. vrchatapi/py.typed +0 -0
  357. vrchatapi/rest.py +303 -0
  358. vrchatapi_async-1.20.8.dev1.dist-info/METADATA +137 -0
  359. vrchatapi_async-1.20.8.dev1.dist-info/RECORD +362 -0
  360. vrchatapi_async-1.20.8.dev1.dist-info/WHEEL +5 -0
  361. vrchatapi_async-1.20.8.dev1.dist-info/licenses/LICENSE +21 -0
  362. vrchatapi_async-1.20.8.dev1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1127 @@
1
+ """
2
+ VRChat API Documentation
3
+
4
+
5
+ The version of the OpenAPI document: 1.20.8
6
+ Contact: vrchatapi.lpv0t@aries.fyi
7
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+
9
+ Do not edit the class manually.
10
+ """ # noqa: E501
11
+
12
+
13
+ import warnings
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from pydantic import Field, StrictStr
19
+ from typing import List, Optional
20
+ from typing_extensions import Annotated
21
+ from vrchatapi.models.moderate_user_request import ModerateUserRequest
22
+ from vrchatapi.models.player_moderation import PlayerModeration
23
+ from vrchatapi.models.player_moderation_type import PlayerModerationType
24
+ from vrchatapi.models.success import Success
25
+
26
+ from vrchatapi.api_client import ApiClient, RequestSerialized
27
+ from vrchatapi.api_response import ApiResponse
28
+ from vrchatapi.rest import RESTResponseType
29
+
30
+
31
+ class PlayermoderationApi:
32
+ """NOTE: This class is auto generated by OpenAPI Generator
33
+ Ref: https://openapi-generator.tech
34
+
35
+ Do not edit the class manually.
36
+ """
37
+
38
+ def __init__(self, api_client=None) -> None:
39
+ if api_client is None:
40
+ api_client = ApiClient.get_default()
41
+ self.api_client = api_client
42
+
43
+
44
+ @validate_call
45
+ async def clear_all_player_moderations(
46
+ self,
47
+ _request_timeout: Union[
48
+ None,
49
+ Annotated[StrictFloat, Field(gt=0)],
50
+ Tuple[
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Annotated[StrictFloat, Field(gt=0)]
53
+ ]
54
+ ] = None,
55
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
56
+ _content_type: Optional[StrictStr] = None,
57
+ _headers: Optional[Dict[StrictStr, Any]] = None,
58
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
59
+ ) -> Success:
60
+ """Clear All Player Moderations
61
+
62
+ ⚠️ **This will delete every single player moderation you've ever made.**
63
+
64
+ :param _request_timeout: timeout setting for this request. If one
65
+ number provided, it will be total request
66
+ timeout. It can also be a pair (tuple) of
67
+ (connection, read) timeouts.
68
+ :type _request_timeout: int, tuple(int, int), optional
69
+ :param _request_auth: set to override the auth_settings for an a single
70
+ request; this effectively ignores the
71
+ authentication in the spec for a single request.
72
+ :type _request_auth: dict, optional
73
+ :param _content_type: force content-type for the request.
74
+ :type _content_type: str, Optional
75
+ :param _headers: set to override the headers for a single
76
+ request; this effectively ignores the headers
77
+ in the spec for a single request.
78
+ :type _headers: dict, optional
79
+ :param _host_index: set to override the host_index for a single
80
+ request; this effectively ignores the host_index
81
+ in the spec for a single request.
82
+ :type _host_index: int, optional
83
+ :return: Returns the result object.
84
+ """ # noqa: E501
85
+
86
+ _param = self._clear_all_player_moderations_serialize(
87
+ _request_auth=_request_auth,
88
+ _content_type=_content_type,
89
+ _headers=_headers,
90
+ _host_index=_host_index
91
+ )
92
+
93
+ _response_types_map: Dict[str, Optional[str]] = {
94
+ '200': "Success",
95
+ '401': "Error",
96
+ }
97
+ response_data = await self.api_client.call_api(
98
+ *_param,
99
+ _request_timeout=_request_timeout
100
+ )
101
+ await response_data.read()
102
+ return self.api_client.response_deserialize(
103
+ response_data=response_data,
104
+ response_types_map=_response_types_map,
105
+ ).data
106
+
107
+
108
+ @validate_call
109
+ async def clear_all_player_moderations_with_http_info(
110
+ self,
111
+ _request_timeout: Union[
112
+ None,
113
+ Annotated[StrictFloat, Field(gt=0)],
114
+ Tuple[
115
+ Annotated[StrictFloat, Field(gt=0)],
116
+ Annotated[StrictFloat, Field(gt=0)]
117
+ ]
118
+ ] = None,
119
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
120
+ _content_type: Optional[StrictStr] = None,
121
+ _headers: Optional[Dict[StrictStr, Any]] = None,
122
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
123
+ ) -> ApiResponse[Success]:
124
+ """Clear All Player Moderations
125
+
126
+ ⚠️ **This will delete every single player moderation you've ever made.**
127
+
128
+ :param _request_timeout: timeout setting for this request. If one
129
+ number provided, it will be total request
130
+ timeout. It can also be a pair (tuple) of
131
+ (connection, read) timeouts.
132
+ :type _request_timeout: int, tuple(int, int), optional
133
+ :param _request_auth: set to override the auth_settings for an a single
134
+ request; this effectively ignores the
135
+ authentication in the spec for a single request.
136
+ :type _request_auth: dict, optional
137
+ :param _content_type: force content-type for the request.
138
+ :type _content_type: str, Optional
139
+ :param _headers: set to override the headers for a single
140
+ request; this effectively ignores the headers
141
+ in the spec for a single request.
142
+ :type _headers: dict, optional
143
+ :param _host_index: set to override the host_index for a single
144
+ request; this effectively ignores the host_index
145
+ in the spec for a single request.
146
+ :type _host_index: int, optional
147
+ :return: Returns the result object.
148
+ """ # noqa: E501
149
+
150
+ _param = self._clear_all_player_moderations_serialize(
151
+ _request_auth=_request_auth,
152
+ _content_type=_content_type,
153
+ _headers=_headers,
154
+ _host_index=_host_index
155
+ )
156
+
157
+ _response_types_map: Dict[str, Optional[str]] = {
158
+ '200': "Success",
159
+ '401': "Error",
160
+ }
161
+ response_data = await self.api_client.call_api(
162
+ *_param,
163
+ _request_timeout=_request_timeout
164
+ )
165
+ await response_data.read()
166
+ return self.api_client.response_deserialize(
167
+ response_data=response_data,
168
+ response_types_map=_response_types_map,
169
+ )
170
+
171
+
172
+ @validate_call
173
+ async def clear_all_player_moderations_without_preload_content(
174
+ self,
175
+ _request_timeout: Union[
176
+ None,
177
+ Annotated[StrictFloat, Field(gt=0)],
178
+ Tuple[
179
+ Annotated[StrictFloat, Field(gt=0)],
180
+ Annotated[StrictFloat, Field(gt=0)]
181
+ ]
182
+ ] = None,
183
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
184
+ _content_type: Optional[StrictStr] = None,
185
+ _headers: Optional[Dict[StrictStr, Any]] = None,
186
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
187
+ ) -> RESTResponseType:
188
+ """Clear All Player Moderations
189
+
190
+ ⚠️ **This will delete every single player moderation you've ever made.**
191
+
192
+ :param _request_timeout: timeout setting for this request. If one
193
+ number provided, it will be total request
194
+ timeout. It can also be a pair (tuple) of
195
+ (connection, read) timeouts.
196
+ :type _request_timeout: int, tuple(int, int), optional
197
+ :param _request_auth: set to override the auth_settings for an a single
198
+ request; this effectively ignores the
199
+ authentication in the spec for a single request.
200
+ :type _request_auth: dict, optional
201
+ :param _content_type: force content-type for the request.
202
+ :type _content_type: str, Optional
203
+ :param _headers: set to override the headers for a single
204
+ request; this effectively ignores the headers
205
+ in the spec for a single request.
206
+ :type _headers: dict, optional
207
+ :param _host_index: set to override the host_index for a single
208
+ request; this effectively ignores the host_index
209
+ in the spec for a single request.
210
+ :type _host_index: int, optional
211
+ :return: Returns the result object.
212
+ """ # noqa: E501
213
+
214
+ _param = self._clear_all_player_moderations_serialize(
215
+ _request_auth=_request_auth,
216
+ _content_type=_content_type,
217
+ _headers=_headers,
218
+ _host_index=_host_index
219
+ )
220
+
221
+ _response_types_map: Dict[str, Optional[str]] = {
222
+ '200': "Success",
223
+ '401': "Error",
224
+ }
225
+ response_data = await self.api_client.call_api(
226
+ *_param,
227
+ _request_timeout=_request_timeout
228
+ )
229
+ return response_data.response
230
+
231
+
232
+ def _clear_all_player_moderations_serialize(
233
+ self,
234
+ _request_auth,
235
+ _content_type,
236
+ _headers,
237
+ _host_index,
238
+ ) -> RequestSerialized:
239
+
240
+ _host = None
241
+
242
+ _collection_formats: Dict[str, str] = {
243
+ }
244
+
245
+ _path_params: Dict[str, str] = {}
246
+ _query_params: List[Tuple[str, str]] = []
247
+ _header_params: Dict[str, Optional[str]] = _headers or {}
248
+ _form_params: List[Tuple[str, str]] = []
249
+ _files: Dict[
250
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
251
+ ] = {}
252
+ _body_params: Optional[bytes] = None
253
+
254
+ # process the path parameters
255
+ # process the query parameters
256
+ # process the header parameters
257
+ # process the form parameters
258
+ # process the body parameter
259
+
260
+
261
+ # set the HTTP header `Accept`
262
+ if 'Accept' not in _header_params:
263
+ _header_params['Accept'] = self.api_client.select_header_accept(
264
+ [
265
+ 'application/json'
266
+ ]
267
+ )
268
+
269
+
270
+ # authentication setting
271
+ _auth_settings: List[str] = [
272
+ 'authCookie'
273
+ ]
274
+
275
+ return self.api_client.param_serialize(
276
+ method='DELETE',
277
+ resource_path='/auth/user/playermoderations',
278
+ path_params=_path_params,
279
+ query_params=_query_params,
280
+ header_params=_header_params,
281
+ body=_body_params,
282
+ post_params=_form_params,
283
+ files=_files,
284
+ auth_settings=_auth_settings,
285
+ collection_formats=_collection_formats,
286
+ _host=_host,
287
+ _request_auth=_request_auth
288
+ )
289
+
290
+
291
+
292
+
293
+ @validate_call
294
+ async def get_player_moderations(
295
+ self,
296
+ type: Annotated[Optional[PlayerModerationType], Field(description="Must be one of PlayerModerationType.")] = None,
297
+ target_user_id: Annotated[Optional[StrictStr], Field(description="Must be valid UserID.")] = None,
298
+ _request_timeout: Union[
299
+ None,
300
+ Annotated[StrictFloat, Field(gt=0)],
301
+ Tuple[
302
+ Annotated[StrictFloat, Field(gt=0)],
303
+ Annotated[StrictFloat, Field(gt=0)]
304
+ ]
305
+ ] = None,
306
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
307
+ _content_type: Optional[StrictStr] = None,
308
+ _headers: Optional[Dict[StrictStr, Any]] = None,
309
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
310
+ ) -> List[PlayerModeration]:
311
+ """Search Player Moderations
312
+
313
+ Returns a list of all player moderations made by **you**. This endpoint does not have pagination, and will return *all* results. Use query parameters to limit your query if needed.
314
+
315
+ :param type: Must be one of PlayerModerationType.
316
+ :type type: PlayerModerationType
317
+ :param target_user_id: Must be valid UserID.
318
+ :type target_user_id: str
319
+ :param _request_timeout: timeout setting for this request. If one
320
+ number provided, it will be total request
321
+ timeout. It can also be a pair (tuple) of
322
+ (connection, read) timeouts.
323
+ :type _request_timeout: int, tuple(int, int), optional
324
+ :param _request_auth: set to override the auth_settings for an a single
325
+ request; this effectively ignores the
326
+ authentication in the spec for a single request.
327
+ :type _request_auth: dict, optional
328
+ :param _content_type: force content-type for the request.
329
+ :type _content_type: str, Optional
330
+ :param _headers: set to override the headers for a single
331
+ request; this effectively ignores the headers
332
+ in the spec for a single request.
333
+ :type _headers: dict, optional
334
+ :param _host_index: set to override the host_index for a single
335
+ request; this effectively ignores the host_index
336
+ in the spec for a single request.
337
+ :type _host_index: int, optional
338
+ :return: Returns the result object.
339
+ """ # noqa: E501
340
+
341
+ _param = self._get_player_moderations_serialize(
342
+ type=type,
343
+ target_user_id=target_user_id,
344
+ _request_auth=_request_auth,
345
+ _content_type=_content_type,
346
+ _headers=_headers,
347
+ _host_index=_host_index
348
+ )
349
+
350
+ _response_types_map: Dict[str, Optional[str]] = {
351
+ '200': "List[PlayerModeration]",
352
+ '401': "Error",
353
+ }
354
+ response_data = await self.api_client.call_api(
355
+ *_param,
356
+ _request_timeout=_request_timeout
357
+ )
358
+ await response_data.read()
359
+ return self.api_client.response_deserialize(
360
+ response_data=response_data,
361
+ response_types_map=_response_types_map,
362
+ ).data
363
+
364
+
365
+ @validate_call
366
+ async def get_player_moderations_with_http_info(
367
+ self,
368
+ type: Annotated[Optional[PlayerModerationType], Field(description="Must be one of PlayerModerationType.")] = None,
369
+ target_user_id: Annotated[Optional[StrictStr], Field(description="Must be valid UserID.")] = None,
370
+ _request_timeout: Union[
371
+ None,
372
+ Annotated[StrictFloat, Field(gt=0)],
373
+ Tuple[
374
+ Annotated[StrictFloat, Field(gt=0)],
375
+ Annotated[StrictFloat, Field(gt=0)]
376
+ ]
377
+ ] = None,
378
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
379
+ _content_type: Optional[StrictStr] = None,
380
+ _headers: Optional[Dict[StrictStr, Any]] = None,
381
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
382
+ ) -> ApiResponse[List[PlayerModeration]]:
383
+ """Search Player Moderations
384
+
385
+ Returns a list of all player moderations made by **you**. This endpoint does not have pagination, and will return *all* results. Use query parameters to limit your query if needed.
386
+
387
+ :param type: Must be one of PlayerModerationType.
388
+ :type type: PlayerModerationType
389
+ :param target_user_id: Must be valid UserID.
390
+ :type target_user_id: str
391
+ :param _request_timeout: timeout setting for this request. If one
392
+ number provided, it will be total request
393
+ timeout. It can also be a pair (tuple) of
394
+ (connection, read) timeouts.
395
+ :type _request_timeout: int, tuple(int, int), optional
396
+ :param _request_auth: set to override the auth_settings for an a single
397
+ request; this effectively ignores the
398
+ authentication in the spec for a single request.
399
+ :type _request_auth: dict, optional
400
+ :param _content_type: force content-type for the request.
401
+ :type _content_type: str, Optional
402
+ :param _headers: set to override the headers for a single
403
+ request; this effectively ignores the headers
404
+ in the spec for a single request.
405
+ :type _headers: dict, optional
406
+ :param _host_index: set to override the host_index for a single
407
+ request; this effectively ignores the host_index
408
+ in the spec for a single request.
409
+ :type _host_index: int, optional
410
+ :return: Returns the result object.
411
+ """ # noqa: E501
412
+
413
+ _param = self._get_player_moderations_serialize(
414
+ type=type,
415
+ target_user_id=target_user_id,
416
+ _request_auth=_request_auth,
417
+ _content_type=_content_type,
418
+ _headers=_headers,
419
+ _host_index=_host_index
420
+ )
421
+
422
+ _response_types_map: Dict[str, Optional[str]] = {
423
+ '200': "List[PlayerModeration]",
424
+ '401': "Error",
425
+ }
426
+ response_data = await self.api_client.call_api(
427
+ *_param,
428
+ _request_timeout=_request_timeout
429
+ )
430
+ await response_data.read()
431
+ return self.api_client.response_deserialize(
432
+ response_data=response_data,
433
+ response_types_map=_response_types_map,
434
+ )
435
+
436
+
437
+ @validate_call
438
+ async def get_player_moderations_without_preload_content(
439
+ self,
440
+ type: Annotated[Optional[PlayerModerationType], Field(description="Must be one of PlayerModerationType.")] = None,
441
+ target_user_id: Annotated[Optional[StrictStr], Field(description="Must be valid UserID.")] = None,
442
+ _request_timeout: Union[
443
+ None,
444
+ Annotated[StrictFloat, Field(gt=0)],
445
+ Tuple[
446
+ Annotated[StrictFloat, Field(gt=0)],
447
+ Annotated[StrictFloat, Field(gt=0)]
448
+ ]
449
+ ] = None,
450
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
451
+ _content_type: Optional[StrictStr] = None,
452
+ _headers: Optional[Dict[StrictStr, Any]] = None,
453
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
454
+ ) -> RESTResponseType:
455
+ """Search Player Moderations
456
+
457
+ Returns a list of all player moderations made by **you**. This endpoint does not have pagination, and will return *all* results. Use query parameters to limit your query if needed.
458
+
459
+ :param type: Must be one of PlayerModerationType.
460
+ :type type: PlayerModerationType
461
+ :param target_user_id: Must be valid UserID.
462
+ :type target_user_id: str
463
+ :param _request_timeout: timeout setting for this request. If one
464
+ number provided, it will be total request
465
+ timeout. It can also be a pair (tuple) of
466
+ (connection, read) timeouts.
467
+ :type _request_timeout: int, tuple(int, int), optional
468
+ :param _request_auth: set to override the auth_settings for an a single
469
+ request; this effectively ignores the
470
+ authentication in the spec for a single request.
471
+ :type _request_auth: dict, optional
472
+ :param _content_type: force content-type for the request.
473
+ :type _content_type: str, Optional
474
+ :param _headers: set to override the headers for a single
475
+ request; this effectively ignores the headers
476
+ in the spec for a single request.
477
+ :type _headers: dict, optional
478
+ :param _host_index: set to override the host_index for a single
479
+ request; this effectively ignores the host_index
480
+ in the spec for a single request.
481
+ :type _host_index: int, optional
482
+ :return: Returns the result object.
483
+ """ # noqa: E501
484
+
485
+ _param = self._get_player_moderations_serialize(
486
+ type=type,
487
+ target_user_id=target_user_id,
488
+ _request_auth=_request_auth,
489
+ _content_type=_content_type,
490
+ _headers=_headers,
491
+ _host_index=_host_index
492
+ )
493
+
494
+ _response_types_map: Dict[str, Optional[str]] = {
495
+ '200': "List[PlayerModeration]",
496
+ '401': "Error",
497
+ }
498
+ response_data = await self.api_client.call_api(
499
+ *_param,
500
+ _request_timeout=_request_timeout
501
+ )
502
+ return response_data.response
503
+
504
+
505
+ def _get_player_moderations_serialize(
506
+ self,
507
+ type,
508
+ target_user_id,
509
+ _request_auth,
510
+ _content_type,
511
+ _headers,
512
+ _host_index,
513
+ ) -> RequestSerialized:
514
+
515
+ _host = None
516
+
517
+ _collection_formats: Dict[str, str] = {
518
+ }
519
+
520
+ _path_params: Dict[str, str] = {}
521
+ _query_params: List[Tuple[str, str]] = []
522
+ _header_params: Dict[str, Optional[str]] = _headers or {}
523
+ _form_params: List[Tuple[str, str]] = []
524
+ _files: Dict[
525
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
526
+ ] = {}
527
+ _body_params: Optional[bytes] = None
528
+
529
+ # process the path parameters
530
+ # process the query parameters
531
+ if type is not None:
532
+
533
+ _query_params.append(('type', type.value))
534
+
535
+ if target_user_id is not None:
536
+
537
+ _query_params.append(('targetUserId', target_user_id))
538
+
539
+ # process the header parameters
540
+ # process the form parameters
541
+ # process the body parameter
542
+
543
+
544
+ # set the HTTP header `Accept`
545
+ if 'Accept' not in _header_params:
546
+ _header_params['Accept'] = self.api_client.select_header_accept(
547
+ [
548
+ 'application/json'
549
+ ]
550
+ )
551
+
552
+
553
+ # authentication setting
554
+ _auth_settings: List[str] = [
555
+ 'authCookie'
556
+ ]
557
+
558
+ return self.api_client.param_serialize(
559
+ method='GET',
560
+ resource_path='/auth/user/playermoderations',
561
+ path_params=_path_params,
562
+ query_params=_query_params,
563
+ header_params=_header_params,
564
+ body=_body_params,
565
+ post_params=_form_params,
566
+ files=_files,
567
+ auth_settings=_auth_settings,
568
+ collection_formats=_collection_formats,
569
+ _host=_host,
570
+ _request_auth=_request_auth
571
+ )
572
+
573
+
574
+
575
+
576
+ @validate_call
577
+ async def moderate_user(
578
+ self,
579
+ moderate_user_request: ModerateUserRequest,
580
+ _request_timeout: Union[
581
+ None,
582
+ Annotated[StrictFloat, Field(gt=0)],
583
+ Tuple[
584
+ Annotated[StrictFloat, Field(gt=0)],
585
+ Annotated[StrictFloat, Field(gt=0)]
586
+ ]
587
+ ] = None,
588
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
589
+ _content_type: Optional[StrictStr] = None,
590
+ _headers: Optional[Dict[StrictStr, Any]] = None,
591
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
592
+ ) -> PlayerModeration:
593
+ """Moderate User
594
+
595
+ Moderate a user, e.g. unmute them or show their avatar. Please see the [Player Moderation docs](https://vrchatapi.github.io/docs/api/#tag--playermoderation) on what playerModerations are, and how they differ from staff moderations.
596
+
597
+ :param moderate_user_request: (required)
598
+ :type moderate_user_request: ModerateUserRequest
599
+ :param _request_timeout: timeout setting for this request. If one
600
+ number provided, it will be total request
601
+ timeout. It can also be a pair (tuple) of
602
+ (connection, read) timeouts.
603
+ :type _request_timeout: int, tuple(int, int), optional
604
+ :param _request_auth: set to override the auth_settings for an a single
605
+ request; this effectively ignores the
606
+ authentication in the spec for a single request.
607
+ :type _request_auth: dict, optional
608
+ :param _content_type: force content-type for the request.
609
+ :type _content_type: str, Optional
610
+ :param _headers: set to override the headers for a single
611
+ request; this effectively ignores the headers
612
+ in the spec for a single request.
613
+ :type _headers: dict, optional
614
+ :param _host_index: set to override the host_index for a single
615
+ request; this effectively ignores the host_index
616
+ in the spec for a single request.
617
+ :type _host_index: int, optional
618
+ :return: Returns the result object.
619
+ """ # noqa: E501
620
+
621
+ _param = self._moderate_user_serialize(
622
+ moderate_user_request=moderate_user_request,
623
+ _request_auth=_request_auth,
624
+ _content_type=_content_type,
625
+ _headers=_headers,
626
+ _host_index=_host_index
627
+ )
628
+
629
+ _response_types_map: Dict[str, Optional[str]] = {
630
+ '200': "PlayerModeration",
631
+ '401': "Error",
632
+ }
633
+ response_data = await self.api_client.call_api(
634
+ *_param,
635
+ _request_timeout=_request_timeout
636
+ )
637
+ await response_data.read()
638
+ return self.api_client.response_deserialize(
639
+ response_data=response_data,
640
+ response_types_map=_response_types_map,
641
+ ).data
642
+
643
+
644
+ @validate_call
645
+ async def moderate_user_with_http_info(
646
+ self,
647
+ moderate_user_request: ModerateUserRequest,
648
+ _request_timeout: Union[
649
+ None,
650
+ Annotated[StrictFloat, Field(gt=0)],
651
+ Tuple[
652
+ Annotated[StrictFloat, Field(gt=0)],
653
+ Annotated[StrictFloat, Field(gt=0)]
654
+ ]
655
+ ] = None,
656
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
657
+ _content_type: Optional[StrictStr] = None,
658
+ _headers: Optional[Dict[StrictStr, Any]] = None,
659
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
660
+ ) -> ApiResponse[PlayerModeration]:
661
+ """Moderate User
662
+
663
+ Moderate a user, e.g. unmute them or show their avatar. Please see the [Player Moderation docs](https://vrchatapi.github.io/docs/api/#tag--playermoderation) on what playerModerations are, and how they differ from staff moderations.
664
+
665
+ :param moderate_user_request: (required)
666
+ :type moderate_user_request: ModerateUserRequest
667
+ :param _request_timeout: timeout setting for this request. If one
668
+ number provided, it will be total request
669
+ timeout. It can also be a pair (tuple) of
670
+ (connection, read) timeouts.
671
+ :type _request_timeout: int, tuple(int, int), optional
672
+ :param _request_auth: set to override the auth_settings for an a single
673
+ request; this effectively ignores the
674
+ authentication in the spec for a single request.
675
+ :type _request_auth: dict, optional
676
+ :param _content_type: force content-type for the request.
677
+ :type _content_type: str, Optional
678
+ :param _headers: set to override the headers for a single
679
+ request; this effectively ignores the headers
680
+ in the spec for a single request.
681
+ :type _headers: dict, optional
682
+ :param _host_index: set to override the host_index for a single
683
+ request; this effectively ignores the host_index
684
+ in the spec for a single request.
685
+ :type _host_index: int, optional
686
+ :return: Returns the result object.
687
+ """ # noqa: E501
688
+
689
+ _param = self._moderate_user_serialize(
690
+ moderate_user_request=moderate_user_request,
691
+ _request_auth=_request_auth,
692
+ _content_type=_content_type,
693
+ _headers=_headers,
694
+ _host_index=_host_index
695
+ )
696
+
697
+ _response_types_map: Dict[str, Optional[str]] = {
698
+ '200': "PlayerModeration",
699
+ '401': "Error",
700
+ }
701
+ response_data = await self.api_client.call_api(
702
+ *_param,
703
+ _request_timeout=_request_timeout
704
+ )
705
+ await response_data.read()
706
+ return self.api_client.response_deserialize(
707
+ response_data=response_data,
708
+ response_types_map=_response_types_map,
709
+ )
710
+
711
+
712
+ @validate_call
713
+ async def moderate_user_without_preload_content(
714
+ self,
715
+ moderate_user_request: ModerateUserRequest,
716
+ _request_timeout: Union[
717
+ None,
718
+ Annotated[StrictFloat, Field(gt=0)],
719
+ Tuple[
720
+ Annotated[StrictFloat, Field(gt=0)],
721
+ Annotated[StrictFloat, Field(gt=0)]
722
+ ]
723
+ ] = None,
724
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
725
+ _content_type: Optional[StrictStr] = None,
726
+ _headers: Optional[Dict[StrictStr, Any]] = None,
727
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
728
+ ) -> RESTResponseType:
729
+ """Moderate User
730
+
731
+ Moderate a user, e.g. unmute them or show their avatar. Please see the [Player Moderation docs](https://vrchatapi.github.io/docs/api/#tag--playermoderation) on what playerModerations are, and how they differ from staff moderations.
732
+
733
+ :param moderate_user_request: (required)
734
+ :type moderate_user_request: ModerateUserRequest
735
+ :param _request_timeout: timeout setting for this request. If one
736
+ number provided, it will be total request
737
+ timeout. It can also be a pair (tuple) of
738
+ (connection, read) timeouts.
739
+ :type _request_timeout: int, tuple(int, int), optional
740
+ :param _request_auth: set to override the auth_settings for an a single
741
+ request; this effectively ignores the
742
+ authentication in the spec for a single request.
743
+ :type _request_auth: dict, optional
744
+ :param _content_type: force content-type for the request.
745
+ :type _content_type: str, Optional
746
+ :param _headers: set to override the headers for a single
747
+ request; this effectively ignores the headers
748
+ in the spec for a single request.
749
+ :type _headers: dict, optional
750
+ :param _host_index: set to override the host_index for a single
751
+ request; this effectively ignores the host_index
752
+ in the spec for a single request.
753
+ :type _host_index: int, optional
754
+ :return: Returns the result object.
755
+ """ # noqa: E501
756
+
757
+ _param = self._moderate_user_serialize(
758
+ moderate_user_request=moderate_user_request,
759
+ _request_auth=_request_auth,
760
+ _content_type=_content_type,
761
+ _headers=_headers,
762
+ _host_index=_host_index
763
+ )
764
+
765
+ _response_types_map: Dict[str, Optional[str]] = {
766
+ '200': "PlayerModeration",
767
+ '401': "Error",
768
+ }
769
+ response_data = await self.api_client.call_api(
770
+ *_param,
771
+ _request_timeout=_request_timeout
772
+ )
773
+ return response_data.response
774
+
775
+
776
+ def _moderate_user_serialize(
777
+ self,
778
+ moderate_user_request,
779
+ _request_auth,
780
+ _content_type,
781
+ _headers,
782
+ _host_index,
783
+ ) -> RequestSerialized:
784
+
785
+ _host = None
786
+
787
+ _collection_formats: Dict[str, str] = {
788
+ }
789
+
790
+ _path_params: Dict[str, str] = {}
791
+ _query_params: List[Tuple[str, str]] = []
792
+ _header_params: Dict[str, Optional[str]] = _headers or {}
793
+ _form_params: List[Tuple[str, str]] = []
794
+ _files: Dict[
795
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
796
+ ] = {}
797
+ _body_params: Optional[bytes] = None
798
+
799
+ # process the path parameters
800
+ # process the query parameters
801
+ # process the header parameters
802
+ # process the form parameters
803
+ # process the body parameter
804
+ if moderate_user_request is not None:
805
+ _body_params = moderate_user_request
806
+
807
+
808
+ # set the HTTP header `Accept`
809
+ if 'Accept' not in _header_params:
810
+ _header_params['Accept'] = self.api_client.select_header_accept(
811
+ [
812
+ 'application/json'
813
+ ]
814
+ )
815
+
816
+ # set the HTTP header `Content-Type`
817
+ if _content_type:
818
+ _header_params['Content-Type'] = _content_type
819
+ else:
820
+ _default_content_type = (
821
+ self.api_client.select_header_content_type(
822
+ [
823
+ 'application/json'
824
+ ]
825
+ )
826
+ )
827
+ if _default_content_type is not None:
828
+ _header_params['Content-Type'] = _default_content_type
829
+
830
+ # authentication setting
831
+ _auth_settings: List[str] = [
832
+ 'authCookie'
833
+ ]
834
+
835
+ return self.api_client.param_serialize(
836
+ method='POST',
837
+ resource_path='/auth/user/playermoderations',
838
+ path_params=_path_params,
839
+ query_params=_query_params,
840
+ header_params=_header_params,
841
+ body=_body_params,
842
+ post_params=_form_params,
843
+ files=_files,
844
+ auth_settings=_auth_settings,
845
+ collection_formats=_collection_formats,
846
+ _host=_host,
847
+ _request_auth=_request_auth
848
+ )
849
+
850
+
851
+
852
+
853
+ @validate_call
854
+ async def unmoderate_user(
855
+ self,
856
+ moderate_user_request: ModerateUserRequest,
857
+ _request_timeout: Union[
858
+ None,
859
+ Annotated[StrictFloat, Field(gt=0)],
860
+ Tuple[
861
+ Annotated[StrictFloat, Field(gt=0)],
862
+ Annotated[StrictFloat, Field(gt=0)]
863
+ ]
864
+ ] = None,
865
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
866
+ _content_type: Optional[StrictStr] = None,
867
+ _headers: Optional[Dict[StrictStr, Any]] = None,
868
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
869
+ ) -> Success:
870
+ """Unmoderate User
871
+
872
+ Removes a player moderation previously added through `moderateUser`. E.g if you previously have shown their avatar, but now want to reset it to default.
873
+
874
+ :param moderate_user_request: (required)
875
+ :type moderate_user_request: ModerateUserRequest
876
+ :param _request_timeout: timeout setting for this request. If one
877
+ number provided, it will be total request
878
+ timeout. It can also be a pair (tuple) of
879
+ (connection, read) timeouts.
880
+ :type _request_timeout: int, tuple(int, int), optional
881
+ :param _request_auth: set to override the auth_settings for an a single
882
+ request; this effectively ignores the
883
+ authentication in the spec for a single request.
884
+ :type _request_auth: dict, optional
885
+ :param _content_type: force content-type for the request.
886
+ :type _content_type: str, Optional
887
+ :param _headers: set to override the headers for a single
888
+ request; this effectively ignores the headers
889
+ in the spec for a single request.
890
+ :type _headers: dict, optional
891
+ :param _host_index: set to override the host_index for a single
892
+ request; this effectively ignores the host_index
893
+ in the spec for a single request.
894
+ :type _host_index: int, optional
895
+ :return: Returns the result object.
896
+ """ # noqa: E501
897
+
898
+ _param = self._unmoderate_user_serialize(
899
+ moderate_user_request=moderate_user_request,
900
+ _request_auth=_request_auth,
901
+ _content_type=_content_type,
902
+ _headers=_headers,
903
+ _host_index=_host_index
904
+ )
905
+
906
+ _response_types_map: Dict[str, Optional[str]] = {
907
+ '200': "Success",
908
+ '401': "Error",
909
+ }
910
+ response_data = await self.api_client.call_api(
911
+ *_param,
912
+ _request_timeout=_request_timeout
913
+ )
914
+ await response_data.read()
915
+ return self.api_client.response_deserialize(
916
+ response_data=response_data,
917
+ response_types_map=_response_types_map,
918
+ ).data
919
+
920
+
921
+ @validate_call
922
+ async def unmoderate_user_with_http_info(
923
+ self,
924
+ moderate_user_request: ModerateUserRequest,
925
+ _request_timeout: Union[
926
+ None,
927
+ Annotated[StrictFloat, Field(gt=0)],
928
+ Tuple[
929
+ Annotated[StrictFloat, Field(gt=0)],
930
+ Annotated[StrictFloat, Field(gt=0)]
931
+ ]
932
+ ] = None,
933
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
934
+ _content_type: Optional[StrictStr] = None,
935
+ _headers: Optional[Dict[StrictStr, Any]] = None,
936
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
937
+ ) -> ApiResponse[Success]:
938
+ """Unmoderate User
939
+
940
+ Removes a player moderation previously added through `moderateUser`. E.g if you previously have shown their avatar, but now want to reset it to default.
941
+
942
+ :param moderate_user_request: (required)
943
+ :type moderate_user_request: ModerateUserRequest
944
+ :param _request_timeout: timeout setting for this request. If one
945
+ number provided, it will be total request
946
+ timeout. It can also be a pair (tuple) of
947
+ (connection, read) timeouts.
948
+ :type _request_timeout: int, tuple(int, int), optional
949
+ :param _request_auth: set to override the auth_settings for an a single
950
+ request; this effectively ignores the
951
+ authentication in the spec for a single request.
952
+ :type _request_auth: dict, optional
953
+ :param _content_type: force content-type for the request.
954
+ :type _content_type: str, Optional
955
+ :param _headers: set to override the headers for a single
956
+ request; this effectively ignores the headers
957
+ in the spec for a single request.
958
+ :type _headers: dict, optional
959
+ :param _host_index: set to override the host_index for a single
960
+ request; this effectively ignores the host_index
961
+ in the spec for a single request.
962
+ :type _host_index: int, optional
963
+ :return: Returns the result object.
964
+ """ # noqa: E501
965
+
966
+ _param = self._unmoderate_user_serialize(
967
+ moderate_user_request=moderate_user_request,
968
+ _request_auth=_request_auth,
969
+ _content_type=_content_type,
970
+ _headers=_headers,
971
+ _host_index=_host_index
972
+ )
973
+
974
+ _response_types_map: Dict[str, Optional[str]] = {
975
+ '200': "Success",
976
+ '401': "Error",
977
+ }
978
+ response_data = await self.api_client.call_api(
979
+ *_param,
980
+ _request_timeout=_request_timeout
981
+ )
982
+ await response_data.read()
983
+ return self.api_client.response_deserialize(
984
+ response_data=response_data,
985
+ response_types_map=_response_types_map,
986
+ )
987
+
988
+
989
+ @validate_call
990
+ async def unmoderate_user_without_preload_content(
991
+ self,
992
+ moderate_user_request: ModerateUserRequest,
993
+ _request_timeout: Union[
994
+ None,
995
+ Annotated[StrictFloat, Field(gt=0)],
996
+ Tuple[
997
+ Annotated[StrictFloat, Field(gt=0)],
998
+ Annotated[StrictFloat, Field(gt=0)]
999
+ ]
1000
+ ] = None,
1001
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1002
+ _content_type: Optional[StrictStr] = None,
1003
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1004
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1005
+ ) -> RESTResponseType:
1006
+ """Unmoderate User
1007
+
1008
+ Removes a player moderation previously added through `moderateUser`. E.g if you previously have shown their avatar, but now want to reset it to default.
1009
+
1010
+ :param moderate_user_request: (required)
1011
+ :type moderate_user_request: ModerateUserRequest
1012
+ :param _request_timeout: timeout setting for this request. If one
1013
+ number provided, it will be total request
1014
+ timeout. It can also be a pair (tuple) of
1015
+ (connection, read) timeouts.
1016
+ :type _request_timeout: int, tuple(int, int), optional
1017
+ :param _request_auth: set to override the auth_settings for an a single
1018
+ request; this effectively ignores the
1019
+ authentication in the spec for a single request.
1020
+ :type _request_auth: dict, optional
1021
+ :param _content_type: force content-type for the request.
1022
+ :type _content_type: str, Optional
1023
+ :param _headers: set to override the headers for a single
1024
+ request; this effectively ignores the headers
1025
+ in the spec for a single request.
1026
+ :type _headers: dict, optional
1027
+ :param _host_index: set to override the host_index for a single
1028
+ request; this effectively ignores the host_index
1029
+ in the spec for a single request.
1030
+ :type _host_index: int, optional
1031
+ :return: Returns the result object.
1032
+ """ # noqa: E501
1033
+
1034
+ _param = self._unmoderate_user_serialize(
1035
+ moderate_user_request=moderate_user_request,
1036
+ _request_auth=_request_auth,
1037
+ _content_type=_content_type,
1038
+ _headers=_headers,
1039
+ _host_index=_host_index
1040
+ )
1041
+
1042
+ _response_types_map: Dict[str, Optional[str]] = {
1043
+ '200': "Success",
1044
+ '401': "Error",
1045
+ }
1046
+ response_data = await self.api_client.call_api(
1047
+ *_param,
1048
+ _request_timeout=_request_timeout
1049
+ )
1050
+ return response_data.response
1051
+
1052
+
1053
+ def _unmoderate_user_serialize(
1054
+ self,
1055
+ moderate_user_request,
1056
+ _request_auth,
1057
+ _content_type,
1058
+ _headers,
1059
+ _host_index,
1060
+ ) -> RequestSerialized:
1061
+
1062
+ _host = None
1063
+
1064
+ _collection_formats: Dict[str, str] = {
1065
+ }
1066
+
1067
+ _path_params: Dict[str, str] = {}
1068
+ _query_params: List[Tuple[str, str]] = []
1069
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1070
+ _form_params: List[Tuple[str, str]] = []
1071
+ _files: Dict[
1072
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1073
+ ] = {}
1074
+ _body_params: Optional[bytes] = None
1075
+
1076
+ # process the path parameters
1077
+ # process the query parameters
1078
+ # process the header parameters
1079
+ # process the form parameters
1080
+ # process the body parameter
1081
+ if moderate_user_request is not None:
1082
+ _body_params = moderate_user_request
1083
+
1084
+
1085
+ # set the HTTP header `Accept`
1086
+ if 'Accept' not in _header_params:
1087
+ _header_params['Accept'] = self.api_client.select_header_accept(
1088
+ [
1089
+ 'application/json'
1090
+ ]
1091
+ )
1092
+
1093
+ # set the HTTP header `Content-Type`
1094
+ if _content_type:
1095
+ _header_params['Content-Type'] = _content_type
1096
+ else:
1097
+ _default_content_type = (
1098
+ self.api_client.select_header_content_type(
1099
+ [
1100
+ 'application/json'
1101
+ ]
1102
+ )
1103
+ )
1104
+ if _default_content_type is not None:
1105
+ _header_params['Content-Type'] = _default_content_type
1106
+
1107
+ # authentication setting
1108
+ _auth_settings: List[str] = [
1109
+ 'authCookie'
1110
+ ]
1111
+
1112
+ return self.api_client.param_serialize(
1113
+ method='PUT',
1114
+ resource_path='/auth/user/unplayermoderate',
1115
+ path_params=_path_params,
1116
+ query_params=_query_params,
1117
+ header_params=_header_params,
1118
+ body=_body_params,
1119
+ post_params=_form_params,
1120
+ files=_files,
1121
+ auth_settings=_auth_settings,
1122
+ collection_formats=_collection_formats,
1123
+ _host=_host,
1124
+ _request_auth=_request_auth
1125
+ )
1126
+
1127
+