├── .gitattributes ├── hata ├── discord │ ├── gateway │ │ └── tests │ │ │ ├── __init__.py │ │ │ └── test__DiscordGatewayVoiceBase.py │ ├── auto_moderation │ │ ├── trigger_metadata │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── constants.py │ │ ├── action │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── action_metadata │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── execution_event │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__put_content.py │ │ │ └── __init__.py │ │ ├── rule │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── exceptions │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── helpers.py │ │ │ └── test__hash_map_key_sort_key.py │ │ ├── voice_error_codes.py │ │ ├── invalid_token.py │ │ └── __init__.py │ ├── role │ │ ├── role │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__parse_separated.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── role_manager_metadata │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__parse_purchasable.py │ │ │ └── constants.py │ │ ├── role_color_configuration │ │ │ └── __init__.py │ │ └── __init__.py │ ├── embed │ │ ├── embed │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── embed_author │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── embed_field │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_inline.py │ │ │ │ └── test__parse_value.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── embed_footer │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── embed_image │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_width.py │ │ │ │ ├── test__put_width.py │ │ │ │ ├── test__parse_height.py │ │ │ │ └── test__put_height.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── embed_video │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_width.py │ │ │ │ ├── test__put_width.py │ │ │ │ ├── test__parse_height.py │ │ │ │ └── test__put_height.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── embed_field_base │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── embed_provider │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── embed_thumbnail │ │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── test__parse_width.py │ │ │ ├── test__put_width.py │ │ │ ├── test__parse_height.py │ │ │ └── test__put_height.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ ├── emoji │ │ ├── emoji │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── reaction_events │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── parsing │ │ │ └── __init__.py │ │ ├── unicode │ │ │ ├── __init__.py │ │ │ └── tests │ │ │ │ └── test__Unicode__magic.py │ │ ├── reaction │ │ │ └── __init__.py │ │ ├── reaction_mapping │ │ │ └── __init__.py │ │ ├── reaction_mapping_line │ │ │ └── __init__.py │ │ └── __init__.py │ ├── guild │ │ ├── guild │ │ │ └── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_user_count.py │ │ │ │ ├── test__put_user_count.py │ │ │ │ ├── test__parse_large.py │ │ │ │ ├── test__parse_available.py │ │ │ │ └── test__put_large.py │ │ ├── discovery │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ └── utils.py │ │ ├── guild_preview │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── guild_widget │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── guild_join_request │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── guild_widget_user │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── welcome_screen │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ ├── __init__.py │ │ │ └── utils.py │ │ ├── discovery_category │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── guild_widget_channel │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ └── fields.py │ │ ├── verification_screen │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ ├── __init__.py │ │ │ └── utils.py │ │ ├── welcome_screen_channel │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── verification_screen_step │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── guild_join_request_delete_event │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── guild_join_request_form_response │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── guild_user_chunk_event │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── ban_entry │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── guild_badge │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── guild_activity_overview_tag │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── guild_boost │ │ │ └── __init__.py │ │ ├── ban_add_multiple_result │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── guild_enhancement_entitlements_delete_event │ │ │ └── __init__.py │ │ ├── guild_incidents │ │ │ └── __init__.py │ │ ├── guild_enhancement_entitlements_create_event │ │ │ └── __init__.py │ │ ├── guild_inventory_settings │ │ │ ├── __init__.py │ │ │ └── utils.py │ │ ├── guild_activity_overview │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── guild_activity_overview_activity │ │ │ └── __init__.py │ ├── invite │ │ ├── invite │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── stage │ │ ├── stage │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__put_topic.py │ │ │ │ └── test__parse_topic.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── user │ │ ├── guild_profile │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__put_nick.py │ │ │ │ ├── test__parse_pending.py │ │ │ │ └── test__parse_nick.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── voice_state │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_deaf.py │ │ │ │ ├── test__parse_mute.py │ │ │ │ └── test__parse_self_deaf.py │ │ │ └── __init__.py │ │ ├── activity_change │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── activity_update │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── thread_profile │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── avatar_decoration │ │ │ └── __init__.py │ │ ├── name_plate │ │ │ └── __init__.py │ │ ├── status_by_platform │ │ │ └── __init__.py │ │ └── user │ │ │ ├── constants.py │ │ │ └── tests │ │ │ ├── test__ZEROUSER.py │ │ │ ├── test__put_email.py │ │ │ ├── test__create_partial_user_from_id.py │ │ │ ├── test__parse_bot.py │ │ │ ├── test__put_locale.py │ │ │ ├── test__put_bot.py │ │ │ └── test__put_webhook_name.py │ ├── application │ │ ├── eula │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__put_content.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── team │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__put_owner_id.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── application │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_book.py │ │ │ │ ├── test__parse_hook.py │ │ │ │ ├── test__parse_overlay.py │ │ │ │ ├── test__put_hook.py │ │ │ │ └── test__put_tags.py │ │ │ └── __init__.py │ │ ├── team_member │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── third_party_sku │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__put_sku.py │ │ │ │ └── test__parse_sku.py │ │ │ └── __init__.py │ │ ├── application_entity │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── application_executable │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── application_install_parameters │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── application_role_connection │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── sku │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── application_role_connection_metadata │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__put_key.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── sku_enhancement │ │ │ └── __init__.py │ │ ├── sku_enhancement_guild │ │ │ └── __init__.py │ │ ├── subscription │ │ │ └── __init__.py │ │ ├── application_integration_type_configuration │ │ │ └── __init__.py │ │ ├── client_platform_configuration │ │ │ └── __init__.py │ │ └── entitlement │ │ │ └── __init__.py │ ├── component │ │ ├── component │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── interaction_form │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── interaction_component │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── string_select_option │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__put_label.py │ │ │ │ └── test__parse_default.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── shared_constants.py │ │ ├── media_item │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── media_info │ │ │ └── __init__.py │ │ ├── entity_select_default_value │ │ │ └── __init__.py │ │ └── tests │ │ │ └── test__create_auto_custom_id.py │ ├── message │ │ ├── message │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_tts.py │ │ │ │ ├── test__parse_pinned.py │ │ │ │ └── test__put_tts.py │ │ │ └── __init__.py │ │ ├── poll_change │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ └── fields.py │ │ ├── poll_update │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── message_application │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── message_interaction │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── message_role_subscription │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_tier_name.py │ │ │ │ ├── test__put_total_months.py │ │ │ │ └── test__parse_total_months.py │ │ │ └── __init__.py │ │ ├── attachment │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── message_snapshot │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── message_pin │ │ │ └── __init__.py │ │ ├── shared_client_theme │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── message_call │ │ │ └── __init__.py │ │ ├── voice_attachment │ │ │ ├── constants.py │ │ │ ├── __init__.py │ │ │ └── fields.py │ │ ├── message_activity │ │ │ └── __init__.py │ │ └── message_builder │ │ │ └── __init__.py │ ├── oauth2 │ │ ├── oauth2_user │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ └── fields.py │ │ ├── connection │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_revoked.py │ │ │ │ └── test__parse_verified_link.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── oauth2_access │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__parse_access_token.py │ │ │ │ └── test__parse_refresh_token.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── resolved │ │ ├── resolved │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ └── resolver │ │ │ └── __init__.py │ ├── sticker │ │ ├── sticker │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__put_sort_value.py │ │ │ │ └── test__parse_available.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── sticker_pack │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── activity │ │ ├── activity_party │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__parse_size_and_max.py │ │ │ └── __init__.py │ │ ├── activity_assets │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── activity_field_base │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── activity_metadata │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── activity_secrets │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test__put_join.py │ │ │ │ ├── test__put_match.py │ │ │ │ └── test__put_spectate.py │ │ │ └── __init__.py │ │ ├── activity_timestamps │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ └── activity │ │ │ └── __init__.py │ ├── channel │ │ ├── forum_tag_change │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── forum_tag_update │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── channel │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── channel_metadata │ │ │ └── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__parse_parent_id.py │ │ ├── voice_channel_effect │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── forum_tag │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── permission_overwrite │ │ │ └── __init__.py │ ├── embedded_activity │ │ ├── embedded_activity_user_state │ │ │ ├── tests │ │ │ │ └── test__validate_nonce.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── embedded_activity_location │ │ │ └── __init__.py │ │ ├── embedded_activity │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── webhook │ │ ├── webhook │ │ │ ├── tests │ │ │ │ ├── test__WebhookBase__data.py │ │ │ │ └── test__put_token.py │ │ │ └── __init__.py │ │ ├── webhook_source_guild │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── webhook_source_channel │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── integration │ │ ├── integration │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── integration_application │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── integration_metadata │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__parse_role_id.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── integration_account │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── onboarding │ │ ├── onboarding_prompt │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── onboarding_screen │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── onboarding_prompt_option │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── poll │ │ ├── poll_answer │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── poll_question │ │ │ ├── constants.py │ │ │ ├── __init__.py │ │ │ └── fields.py │ │ ├── poll │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── poll_events │ │ │ └── __init__.py │ │ ├── poll_result │ │ │ └── __init__.py │ │ └── __init__.py │ ├── soundboard │ │ ├── soundboard_sound │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── soundboard_sounds_event │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ └── __init__.py │ ├── interaction │ │ ├── interaction_option │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test__parse_focused.py │ │ │ └── __init__.py │ │ ├── interaction_metadata │ │ │ └── constants.py │ │ ├── responding │ │ │ └── __init__.py │ │ ├── interaction_event │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ └── tests │ │ │ │ └── test__put_token.py │ │ └── __init__.py │ ├── scheduled_event │ │ ├── scheduled_event │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── scheduled_event_entity_metadata │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── scheduled_event_subscribe_event │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── scheduled_event_unsubscribe_event │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── scheduled_event_occasion_overwrite_delete_event │ │ │ └── __init__.py │ │ ├── scheduled_event_occasion_overwrite_update_event │ │ │ └── __init__.py │ │ ├── schedule │ │ │ └── __init__.py │ │ ├── schedule_nth_weeks_day │ │ │ └── __init__.py │ │ ├── scheduled_event_occasion_overwrite_create_event │ │ │ └── __init__.py │ │ └── scheduled_event_occasion_overwrite │ │ │ └── __init__.py │ ├── bases │ │ ├── event │ │ │ └── __init__.py │ │ ├── place_holder │ │ │ └── __init__.py │ │ ├── entity │ │ │ └── __init__.py │ │ ├── preinstanced │ │ │ └── __init__.py │ │ ├── flags │ │ │ └── __init__.py │ │ └── __init__.py │ ├── application_command │ │ ├── application_command_option │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── application_command_option_choice │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── application_command_permission │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ ├── application_command_option_metadata │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── constants.py │ │ ├── application_command_permission_overwrite │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ └── application_command │ │ │ ├── constants.py │ │ │ └── __init__.py │ ├── bin │ │ ├── libopus-0.x64.dll │ │ └── libopus-0.x86.dll │ ├── audit_logs │ │ ├── audit_log_entry │ │ │ └── constants.py │ │ ├── audit_log_entry_change_conversion │ │ │ └── key_pre_checks.py │ │ ├── audit_log_role │ │ │ ├── fields.py │ │ │ └── __init__.py │ │ ├── conversion_helpers │ │ │ ├── __init__.py │ │ │ └── tests │ │ │ │ └── test__hash_dict.py │ │ ├── audit_log_iterator │ │ │ └── __init__.py │ │ ├── audit_log │ │ │ └── __init__.py │ │ ├── audit_log_change │ │ │ └── __init__.py │ │ └── audit_log_entry_detail_conversion │ │ │ └── __init__.py │ ├── voice │ │ ├── packets │ │ │ ├── constants.py │ │ │ └── __init__.py │ │ └── audio_settings │ │ │ ├── constants.py │ │ │ └── __init__.py │ ├── ansi_format │ │ └── __init__.py │ ├── permission │ │ ├── __init__.py │ │ └── constants.py │ ├── allowed_mentions │ │ ├── constants.py │ │ └── __init__.py │ ├── builder │ │ ├── constants.py │ │ ├── conversions │ │ │ └── __init__.py │ │ └── __init__.py │ ├── localization │ │ └── __init__.py │ ├── events │ │ ├── soundboard_sounds_event_handler │ │ │ └── __init__.py │ │ └── event_handler_plugin │ │ │ └── __init__.py │ ├── http │ │ └── tests │ │ │ └── test__get_connector.py │ └── tests │ │ └── test__unix_time_to_datetime.py ├── ext │ ├── plugin_loader │ │ ├── README.md │ │ ├── utils │ │ │ ├── get_plugin_.py │ │ │ ├── load_all_plugin_.py │ │ │ ├── reload_all_plugin_.py │ │ │ ├── unload_all_plugin_.py │ │ │ ├── load_plugin_.py │ │ │ ├── reload_plugin_.py │ │ │ ├── unload_plugin_.py │ │ │ ├── clear_default_plugin_variables_.py │ │ │ ├── add_default_plugin_variables_.py │ │ │ ├── remove_default_plugin_variables_.py │ │ │ ├── register_plugin_.py │ │ │ └── register_and_load_plugin_.py │ │ ├── snapshot │ │ │ └── __init__.py │ │ └── plugin_tree │ │ │ └── __init__.py │ ├── kokoro_sqlalchemy │ │ ├── README.md │ │ └── __init__.py │ ├── slash │ │ ├── command │ │ │ ├── command_base │ │ │ │ └── __init__.py │ │ │ ├── context_command │ │ │ │ └── __init__.py │ │ │ ├── component_command │ │ │ │ ├── constants.py │ │ │ │ └── __init__.py │ │ │ ├── form_submit_command │ │ │ │ ├── constants.py │ │ │ │ └── __init__.py │ │ │ ├── embedded_activity_launch_command │ │ │ │ └── __init__.py │ │ │ ├── command_base_custom_id │ │ │ │ └── __init__.py │ │ │ ├── command_base_application_command │ │ │ │ └── __init__.py │ │ │ └── slash_command │ │ │ │ └── __init__.py │ │ ├── conversions │ │ │ └── __init__.py │ │ ├── menus │ │ │ └── __init__.py │ │ ├── README.md │ │ └── interfaces │ │ │ ├── __init__.py │ │ │ └── tests │ │ │ └── test__CommandInterface.py │ ├── patchouli │ │ └── README.md │ ├── asyncio │ │ ├── __init__.py │ │ └── README.md │ ├── solarlink │ │ └── track_end_reasons.py │ ├── top_gg │ │ └── README.md │ └── plugin_auto_reloader │ │ ├── utils │ │ ├── stop_auto_reloader_.py │ │ ├── start_auto_reloader_.py │ │ ├── update_auto_reloader_.py │ │ └── __init__.py │ │ └── compatibility.py ├── main │ ├── __init__.py │ ├── commands │ │ └── default │ │ │ ├── scaffold │ │ │ ├── layouts │ │ │ │ └── package │ │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ └── tests │ │ │ │ ├── test__build_scaffold_description.py │ │ │ │ └── test__build_identifying_layout_failed_error_message.py │ │ │ └── __init__.py │ └── core │ │ └── __init__.py ├── utils │ └── __init__.py └── vampytest_config.py ├── docs ├── examples │ └── scaffold_example │ │ ├── dipp │ │ ├── __init__.py │ │ ├── .env │ │ ├── __main__.py │ │ ├── plugins │ │ │ ├── __init__.py │ │ │ └── ping.py │ │ ├── bots │ │ │ ├── __init__.py │ │ │ ├── label.py │ │ │ └── jacket.py │ │ └── constants.py │ │ └── .gitignore └── topics │ └── assets │ ├── forms_0000.gif │ ├── forms_0001.gif │ ├── forms_0002.gif │ ├── forms_0003.gif │ ├── forms_0004.gif │ ├── forms_0005.gif │ ├── forms_0006.gif │ ├── slash_0000.png │ ├── slash_0001.png │ ├── slash_0002.png │ ├── slash_0003.png │ ├── slash_0004.png │ ├── slash_0005.png │ ├── slash_0008.png │ ├── slash_0009.png │ ├── slash_0010.png │ ├── slash_0011.png │ ├── slash_0012.png │ ├── slash_0013.png │ ├── slash_0014.png │ ├── slash_0015.gif │ ├── slash_0016.png │ ├── slash_0017.gif │ ├── slash_0018.png │ ├── slash_0019.png │ ├── slash_0020.png │ ├── slash_0021.png │ ├── slash_0022.png │ ├── slash_0023.gif │ ├── slash_0024.png │ ├── slash_0025.gif │ ├── slash_0026.gif │ ├── slash_0027.gif │ ├── slash_0028.png │ ├── slash_0029.gif │ ├── slash_0030.gif │ ├── auto_completion_0000.gif │ ├── auto_completion_0001.gif │ ├── auto_completion_0002.gif │ ├── auto_completion_0003.gif │ ├── auto_completion_0004.gif │ ├── getting_started_0000.png │ ├── getting_started_0001.png │ ├── getting_started_0007.gif │ ├── getting_started_0011.png │ ├── getting_started_0012.png │ ├── getting_started_0013.png │ ├── getting_started_0015.png │ ├── getting_started_0017.png │ ├── getting_started_0019.png │ ├── getting_started_0020.png │ ├── getting_started_0021.png │ ├── getting_started_0022.png │ ├── content_components_0000.png │ ├── typing_interactions_0000.gif │ ├── typing_interactions_0001.gif │ ├── typing_interactions_0002.gif │ ├── typing_interactions_0003.gif │ ├── interactive_components_0000.gif │ ├── interactive_components_0001.gif │ ├── interactive_components_0002.gif │ ├── interactive_components_0003.gif │ ├── interactive_components_0004.gif │ ├── interactive_components_0005.gif │ ├── interactive_components_0006.gif │ ├── interactive_components_0007.gif │ ├── getting_started_0012_original.png │ ├── getting_started_0013_original.png │ └── getting_started_0019_original.png ├── .gitignore └── .github └── ISSUE_TEMPLATE └── config.yml /.gitattributes: -------------------------------------------------------------------------------- 1 | *.md text linguist-detectable 2 | -------------------------------------------------------------------------------- /hata/discord/gateway/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # for imports 2 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/README.md: -------------------------------------------------------------------------------- 1 | Hata plugin loader. 2 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/trigger_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | -------------------------------------------------------------------------------- /hata/discord/exceptions/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # for cross-test imports 2 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/.env: -------------------------------------------------------------------------------- 1 | JACKET_TOKEN = 2 | LABEL_TOKEN = 3 | -------------------------------------------------------------------------------- /hata/discord/role/role/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/emoji/emoji/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/invite/invite/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/stage/stage/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/user/guild_profile/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Used for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/application/eula/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/application/team/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/component/component/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_author/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_field/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_footer/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/guild/discovery/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_preview/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/message/message/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/message/poll_change/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/message/poll_update/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_user/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/resolved/resolved/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/user/voice_state/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_party/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/application/application/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/application/team_member/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/action/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/channel/forum_tag_change/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/channel/forum_tag_update/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_field_base/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_provider/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/embedded_activity_user_state/tests/test__validate_nonce.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /hata/discord/emoji/reaction_events/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_join_request/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget_user/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/oauth2/connection/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_access/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker_pack/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/user/activity_change/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/user/activity_update/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/user/thread_profile/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook/tests/test__WebhookBase__data.py: -------------------------------------------------------------------------------- 1 | # Nothing new to test here. 2 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_assets/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_field_base/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_secrets/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_timestamps/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/application/third_party_sku/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/channel/channel/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for relative import support 2 | -------------------------------------------------------------------------------- /hata/discord/channel/channel_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for relative imports 2 | -------------------------------------------------------------------------------- /hata/discord/channel/voice_channel_effect/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/component/interaction_form/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | URL_LENGTH_MAX = 2048 5 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | URL_LENGTH_MAX = 2048 5 | -------------------------------------------------------------------------------- /hata/discord/guild/discovery_category/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget_channel/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen_channel/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/integration/integration/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for cross-test import 2 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_application/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for imports 2 | -------------------------------------------------------------------------------- /hata/discord/message/message_application/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/message/message_interaction/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/onboarding/onboarding_prompt/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/onboarding/onboarding_screen/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_answer/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | TEXT_LENGTH_MAX = 55 5 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_question/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | TEXT_LENGTH_MAX = 300 5 | -------------------------------------------------------------------------------- /hata/discord/role/role_manager_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/soundboard/soundboard_sound/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook_source_guild/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/ext/kokoro_sqlalchemy/README.md: -------------------------------------------------------------------------------- 1 | Asynchronous SQLAlchemy engine wrapper using executors. 2 | -------------------------------------------------------------------------------- /hata/discord/application/application_entity/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/application/application_executable/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/action_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/execution_event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/component/interaction_component/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | URL_LENGTH_MAX = 2048 5 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen_step/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MAX = 140 4 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_option/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross test imports 2 | -------------------------------------------------------------------------------- /hata/discord/message/message_role_subscription/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/soundboard/soundboard_sounds_event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook_source_channel/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/main/__init__.py: -------------------------------------------------------------------------------- 1 | from .core import * 2 | 3 | 4 | __all__ = ( 5 | *core.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/component/string_select_option/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_join_request_delete_event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_join_request_form_response/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_user_chunk_event/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | NONCE_LENGTH_MAX = 25 5 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MAX = 300 4 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen_step/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | TITLE_LENGTH_MAX = 300 4 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen_channel/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MAX = 42 4 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_account/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Only required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/onboarding/onboarding_prompt_option/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/application/application_install_parameters/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/application/sku/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 0 4 | NAME_LENGTH_MAX = 256 5 | -------------------------------------------------------------------------------- /hata/discord/bases/event/__init__.py: -------------------------------------------------------------------------------- 1 | from .event_base import * 2 | 3 | 4 | __all__ = event_base.__all__ 5 | -------------------------------------------------------------------------------- /hata/discord/stage/__init__.py: -------------------------------------------------------------------------------- 1 | from .stage import * 2 | 3 | 4 | __all__ = ( 5 | *stage.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/stage/stage/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | TOPIC_LENGTH_MIN = 0 4 | TOPIC_LENGTH_MAX = 120 5 | -------------------------------------------------------------------------------- /docs/topics/assets/forms_0000.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0000.gif -------------------------------------------------------------------------------- /docs/topics/assets/forms_0001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0001.gif -------------------------------------------------------------------------------- /docs/topics/assets/forms_0002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0002.gif -------------------------------------------------------------------------------- /docs/topics/assets/forms_0003.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0003.gif -------------------------------------------------------------------------------- /docs/topics/assets/forms_0004.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0004.gif -------------------------------------------------------------------------------- /docs/topics/assets/forms_0005.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0005.gif -------------------------------------------------------------------------------- /docs/topics/assets/forms_0006.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/forms_0006.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0000.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0001.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0002.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0003.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0004.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0005.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0008.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0009.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0010.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0011.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0012.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0013.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0014.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0015.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0015.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0016.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0017.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0017.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0018.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0019.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0020.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0021.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0022.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0023.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0023.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0024.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0025.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0025.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0026.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0026.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0027.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0027.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0028.png -------------------------------------------------------------------------------- /docs/topics/assets/slash_0029.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0029.gif -------------------------------------------------------------------------------- /docs/topics/assets/slash_0030.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/slash_0030.gif -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports. 2 | -------------------------------------------------------------------------------- /hata/discord/application/team/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 100 5 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/channel/forum_tag/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MAX = 20 4 | NAME_LENGTH_MIN = 1 5 | -------------------------------------------------------------------------------- /hata/discord/guild/ban_entry/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | REASON_LENGTH_MIN = 0 4 | REASON_LENGTH_MAX = 512 5 | -------------------------------------------------------------------------------- /hata/discord/invite/__init__.py: -------------------------------------------------------------------------------- 1 | from .invite import * 2 | 3 | 4 | __all__ = ( 5 | *invite.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/oauth2/connection/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 128 5 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_entity_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_subscribe_event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_unsubscribe_event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/ext/slash/command/command_base/__init__.py: -------------------------------------------------------------------------------- 1 | from .command_base import * 2 | 3 | __all_ = command_base.__all__ 4 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option_choice/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Require for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_permission/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/rule/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 100 5 | 6 | -------------------------------------------------------------------------------- /hata/discord/bin/libopus-0.x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/hata/discord/bin/libopus-0.x64.dll -------------------------------------------------------------------------------- /hata/discord/bin/libopus-0.x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/hata/discord/bin/libopus-0.x86.dll -------------------------------------------------------------------------------- /hata/discord/embed/embed_field/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MAX = 256 4 | VALUE_LENGTH_MAX = 1024 5 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_provider/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MAX = 256 4 | URL_LENGTH_MAX = 2048 5 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | AUTO_COMPLETE_VALUE_LENGTH_MAX = 6000 4 | -------------------------------------------------------------------------------- /hata/discord/application/application_entity/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 100 5 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option_metadata/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_entry/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | REASON_LENGTH_MIN = 1 4 | REASON_LENGTH_MAX = 512 5 | -------------------------------------------------------------------------------- /hata/discord/component/interaction_form/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | TITLE_LENGTH_MIN = 1 4 | TITLE_LENGTH_MAX = 45 5 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_footer/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | ICON_URL_LENGTH_MAX = 2048 4 | TEXT_LENGTH_MAX = 2048 5 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_badge/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | BADGE_TAG_LENGTH_MIN = 3 5 | BADGE_TAG_LENGTH_MAX = 4 6 | -------------------------------------------------------------------------------- /hata/discord/integration/integration/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | NAME_LENGTH_MIN = 1 5 | NAME_LENGTH_MAX = 128 6 | -------------------------------------------------------------------------------- /hata/discord/message/attachment/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MAX = 1024 4 | DURATION_DEFAULT = 0.0 5 | -------------------------------------------------------------------------------- /hata/discord/message/message_snapshot/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ..message.constants import CONTENT_LENGTH_MAX 4 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook_source_channel/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 100 5 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook_source_guild/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 2 4 | NAME_LENGTH_MAX = 100 5 | -------------------------------------------------------------------------------- /hata/ext/slash/command/context_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .context_command import * 2 | 3 | __all__ = context_command.__all__ 4 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_field_base/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | 3 | 4 | __all__ = ( 5 | *base.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_permission_overwrite/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Required for cross-test imports 2 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/trigger_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | AUTO_MODERATION_TRIGGER_MENTION_LIMIT_MAX = 50 4 | -------------------------------------------------------------------------------- /hata/discord/component/shared_constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | CUSTOM_ID_LENGTH_MAX = 100 4 | 5 | COMPONENTS_LENGTH_MAX = 5 6 | -------------------------------------------------------------------------------- /docs/topics/assets/auto_completion_0000.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/auto_completion_0000.gif -------------------------------------------------------------------------------- /docs/topics/assets/auto_completion_0001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/auto_completion_0001.gif -------------------------------------------------------------------------------- /docs/topics/assets/auto_completion_0002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/auto_completion_0002.gif -------------------------------------------------------------------------------- /docs/topics/assets/auto_completion_0003.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/auto_completion_0003.gif -------------------------------------------------------------------------------- /docs/topics/assets/auto_completion_0004.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/auto_completion_0004.gif -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0000.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0001.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0007.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0007.gif -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0011.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0012.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0013.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0015.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0017.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0019.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0020.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0021.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0022.png -------------------------------------------------------------------------------- /hata/discord/component/media_item/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | DESCRIPTION_LENGTH_MIN = 0 5 | DESCRIPTION_LENGTH_MAX = 1024 6 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_activity_overview_tag/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | TITLE_LENGTH_MIN = 1 5 | TITLE_LENGTH_MAX = 24 6 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_preview/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | DESCRIPTION_LENGTH_MAX = 120 5 | 6 | NAME_LENGTH_MAX = 100 7 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_permission/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | PERMISSION_OVERWRITES_MAX = 100 5 | -------------------------------------------------------------------------------- /hata/discord/poll/poll/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | DURATION_DEFAULT = 0 5 | 6 | # 32 days 7 | DURATION_MAX = 32 * 3600 * 24 8 | -------------------------------------------------------------------------------- /hata/ext/patchouli/README.md: -------------------------------------------------------------------------------- 1 | Hata extension for processing hata docstrings. 2 | 3 | Named after Patchouli Knowledge from Touhou project. 4 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/__main__.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from .cli import main 4 | 5 | if __name__ == '__main__': 6 | main() 7 | -------------------------------------------------------------------------------- /docs/topics/assets/content_components_0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/content_components_0000.png -------------------------------------------------------------------------------- /docs/topics/assets/typing_interactions_0000.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/typing_interactions_0000.gif -------------------------------------------------------------------------------- /docs/topics/assets/typing_interactions_0001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/typing_interactions_0001.gif -------------------------------------------------------------------------------- /docs/topics/assets/typing_interactions_0002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/typing_interactions_0002.gif -------------------------------------------------------------------------------- /docs/topics/assets/typing_interactions_0003.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/typing_interactions_0003.gif -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_entry_change_conversion/key_pre_checks.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...utils import is_id as key_pre_check_id 4 | -------------------------------------------------------------------------------- /hata/discord/user/guild_profile/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | BIO_LENGTH_MAX = 190 4 | 5 | NICK_LENGTH_MIN = 1 6 | NICK_LENGTH_MAX = 32 7 | -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0000.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0000.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0001.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0002.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0003.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0003.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0004.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0004.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0005.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0005.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0006.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0006.gif -------------------------------------------------------------------------------- /docs/topics/assets/interactive_components_0007.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/interactive_components_0007.gif -------------------------------------------------------------------------------- /hata/discord/embed/embed_author/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | ICON_URL_LENGTH_MAX = 2024 4 | NAME_LENGTH_MAX = 256 5 | URL_LENGTH_MAX = 2048 6 | -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0012_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0012_original.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0013_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0013_original.png -------------------------------------------------------------------------------- /docs/topics/assets/getting_started_0019_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HuyaneMatsu/hata/HEAD/docs/topics/assets/getting_started_0019_original.png -------------------------------------------------------------------------------- /hata/discord/voice/packets/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | MAX_UINT_32 = 0xffffffff 4 | MAX_UINT_16 = 0xffff 5 | 6 | 7 | RTP_PACKET_TYPE_VOICE = 120 8 | -------------------------------------------------------------------------------- /hata/ext/slash/command/component_command/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | COMMAND_TARGETS_COMPONENT_COMMAND = frozenset(( 4 | 'component', 5 | )) 6 | -------------------------------------------------------------------------------- /hata/ext/slash/conversions/__init__.py: -------------------------------------------------------------------------------- 1 | from .abort import * 2 | from .interaction_event import * 3 | from .message import * 4 | 5 | 6 | __all__ = () 7 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | from hata.ext.plugin_loader import mark_as_plugin_root_directory 2 | 3 | mark_as_plugin_root_directory() 4 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/action_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | AUTO_MODERATION_ACTION_TIMEOUT_MAX = 2419200 4 | CUSTOM_MESSAGE_LENGTH_MAX = 150 5 | -------------------------------------------------------------------------------- /hata/ext/asyncio/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | import scarletio.ext.asyncio 4 | 5 | 6 | sys.modules['hata.ext.asyncio'] = sys.modules['scarletio.ext.asyncio'] 7 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_role/fields.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...role.role.fields import parse_id, parse_name, put_id, put_name, validate_id, validate_name 4 | -------------------------------------------------------------------------------- /hata/discord/emoji/parsing/__init__.py: -------------------------------------------------------------------------------- 1 | from .pattern import * 2 | from .utils import * 3 | 4 | 5 | __all__ = ( 6 | *pattern.__all__, 7 | *utils.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/voice/audio_settings/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | SAMPLING_RATE_DEFAULT = 48000 4 | CHANNELS_DEFAULT = 2 5 | FRAME_LENGTH_DEFAULT = 20 # This is in ms 6 | -------------------------------------------------------------------------------- /hata/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .debug import * 2 | from .module_deprecation import * 3 | 4 | __all__ = ( 5 | *debug.__all__, 6 | *module_deprecation.__all__, 7 | ) 8 | -------------------------------------------------------------------------------- /hata/discord/application/eula/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | CONTENT_LENGTH_MIN = 1 4 | CONTENT_LENGTH_MAX = 65536 5 | 6 | NAME_LENGTH_MIN = 1 7 | NAME_LENGTH_MAX = 256 8 | -------------------------------------------------------------------------------- /hata/discord/component/string_select_option/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MAX = 100 4 | 5 | LABEL_LENGTH_MAX = 100 6 | 7 | VALUE_LENGTH_MAX = 100 8 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_field_base/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | from .flags import * 3 | 4 | 5 | __all__ = ( 6 | *base.__all__, 7 | *flags.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/resolved/__init__.py: -------------------------------------------------------------------------------- 1 | from .resolved import * 2 | from .resolver import * 3 | 4 | 5 | __all__ = ( 6 | *resolved.__all__, 7 | *resolver.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/resolved/resolved/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .resolved import * 3 | 4 | __all__ = ( 5 | *fields.__all__, 6 | *resolved.__all__, 7 | ) 8 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_assets/__init__.py: -------------------------------------------------------------------------------- 1 | from .assets import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *assets.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_party/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .party import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *party.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/ansi_format/__init__.py: -------------------------------------------------------------------------------- 1 | from .preinstanced import * 2 | from .utils import * 3 | 4 | 5 | __all__ = ( 6 | *preinstanced.__all__, 7 | *utils.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_account/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | ID_LENGTH_MIN = 1 4 | ID_LENGTH_MAX = 1024 5 | 6 | NAME_LENGTH_MIN = 1 7 | NAME_LENGTH_MAX = 128 8 | -------------------------------------------------------------------------------- /hata/discord/permission/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .permission import * 3 | 4 | 5 | __all__ = ( 6 | *constants.__all__, 7 | *permission.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/soundboard/soundboard_sound/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | NAME_LENGTH_MIN = 2 5 | NAME_LENGTH_MAX = 32 6 | 7 | DEFAULT_SOUNDBOARD_SOUND_LIMIT = 1 << 21 8 | -------------------------------------------------------------------------------- /hata/discord/sticker/__init__.py: -------------------------------------------------------------------------------- 1 | from .sticker import * 2 | from .sticker_pack import * 3 | 4 | 5 | __all__ = ( 6 | *sticker.__all__, 7 | *sticker_pack.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/bots/__init__.py: -------------------------------------------------------------------------------- 1 | from .jacket import * 2 | from .label import * 3 | 4 | 5 | __all__ = ( 6 | *jacket.__all__, 7 | *label.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_secrets/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .secrets import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *secrets.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/component/media_info/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .media_info import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *media_info.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/emoji/unicode/__init__.py: -------------------------------------------------------------------------------- 1 | from .unicode_type import * 2 | from .unicodes import * 3 | 4 | 5 | __all__ = ( 6 | *unicode_type.__all__, 7 | *unicodes.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_boost/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_boost import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *guild_boost.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/message_pin/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .message_pin import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *message_pin.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/poll_change/__init__.py: -------------------------------------------------------------------------------- 1 | from .poll_change import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *poll_change.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/poll_update/__init__.py: -------------------------------------------------------------------------------- 1 | from .poll_update import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *poll_update.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/shared_client_theme/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | GRADIENT_ANGLE_MIN = 0 5 | GRADIENT_ANGLE_MAX = 360 6 | 7 | INTENSITY_MIN = 0 8 | INTENSITY_MAX = 100 9 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_user/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .oauth2_user import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *oauth2_user.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/resolved/resolver/__init__.py: -------------------------------------------------------------------------------- 1 | from .resolver import * 2 | from .resolvers import * 3 | 4 | 5 | __all__ = ( 6 | *resolver.__all__, 7 | *resolvers.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/user/voice_state/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .voice_state import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *voice_state.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/ext/slash/command/form_submit_command/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | COMMAND_TARGETS_FORM_COMPONENT_COMMAND = frozenset(( 5 | 'form', 6 | 'form_submit', 7 | )) 8 | -------------------------------------------------------------------------------- /hata/discord/allowed_mentions/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | STATE_ALLOW_REPLIED_USER_FALSE = -1 5 | STATE_ALLOW_REPLIED_USER_NONE = 0 6 | STATE_ALLOW_REPLIED_USER_TRUE = 1 7 | 8 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/embedded_activity_user_state/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | NONCE_LENGTH_MAX = 25 5 | 6 | SESSION_ID_LENGTH_MIN = 32 7 | SESSION_ID_LENGTH_MAX = 32 8 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_widget import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *guild_widget.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/message_call/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .message_call import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *message_call.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/voice_attachment/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | WAVEFORM_OGG_DEFAULT = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 4 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_unsubscribe_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .scheduled_event_unsubscribe_event import * 2 | 3 | 4 | __all__ = scheduled_event_unsubscribe_event.__all__ 5 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker_pack/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .sticker_pack import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *sticker_pack.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/ext/solarlink/track_end_reasons.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | finished = 'FINISHED' 4 | load_failed = 'LOAD_FAILED' 5 | stopped = 'STOPPED' 6 | replaced = 'REPLACED' 7 | cleanup = 'CLEANUP' 8 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_timestamps/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .timestamps import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *timestamps.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/conversion_helpers/__init__.py: -------------------------------------------------------------------------------- 1 | from .converters import * 2 | from .helpers import * 3 | 4 | 5 | __all__ = ( 6 | *converters.__all__, 7 | *helpers.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/ban_add_multiple_result/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DELETE_MESSAGE_DURATION_DEFAULT = 0 4 | DELETE_MESSAGE_DURATION_MIN = 0 5 | DELETE_MESSAGE_DURATION_MAX = 604800 6 | -------------------------------------------------------------------------------- /hata/discord/user/activity_change/__init__.py: -------------------------------------------------------------------------------- 1 | from .activity_change import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *activity_change.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/user/activity_update/__init__.py: -------------------------------------------------------------------------------- 1 | from .activity_update import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *activity_update.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Python 2 | *.pyc 3 | __pycache__/ 4 | 5 | # Editor 6 | .idea 7 | 8 | # Pip 9 | *.egg-info 10 | build/ 11 | dist/ 12 | *.whl 13 | *.tar.gz 14 | 15 | # Hata 16 | .external 17 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option_choice/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 100 5 | VALUE_LENGTH_MIN = 0 6 | VALUE_LENGTH_MAX = 100 7 | -------------------------------------------------------------------------------- /hata/discord/channel/forum_tag_change/__init__.py: -------------------------------------------------------------------------------- 1 | from .forum_tag_change import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *forum_tag_change.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/channel/forum_tag_update/__init__.py: -------------------------------------------------------------------------------- 1 | from .forum_tag_update import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *forum_tag_update.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/message_application/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | DESCRIPTION_LENGTH_MIN = 0 5 | DESCRIPTION_LENGTH_MAX = 1024 6 | 7 | NAME_LENGTH_MIN = 1 8 | NAME_LENGTH_MAX = 128 9 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MIN = 0 4 | DESCRIPTION_LENGTH_MAX = 1000 5 | 6 | NAME_LENGTH_MIN = 0 7 | NAME_LENGTH_MAX = 1000 8 | -------------------------------------------------------------------------------- /hata/discord/user/avatar_decoration/__init__.py: -------------------------------------------------------------------------------- 1 | from .avatar_decoration import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *avatar_decoration.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/ext/slash/command/embedded_activity_launch_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .embedded_activity_launch_command import * 2 | 3 | 4 | __all__ = ( 5 | *embedded_activity_launch_command.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/application/sku_enhancement/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .sku_enhancement import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *sku_enhancement.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/application/third_party_sku/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .third_party_sku import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *third_party_sku.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 1 4 | NAME_LENGTH_MAX = 32 5 | DESCRIPTION_LENGTH_MIN = 2 6 | DESCRIPTION_LENGTH_MAX = 100 7 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/execution_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .execution_event import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *execution_event.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/discovery_category/__init__.py: -------------------------------------------------------------------------------- 1 | from .discovery_category import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *discovery_category.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget_user/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_widget_user import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *guild_widget_user.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_application/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | DESCRIPTION_LENGTH_MIN = 0 5 | DESCRIPTION_LENGTH_MAX = 1024 6 | 7 | NAME_LENGTH_MIN = 1 8 | NAME_LENGTH_MAX = 128 9 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_iterator/__init__.py: -------------------------------------------------------------------------------- 1 | from .audit_log_iterator import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *audit_log_iterator.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget_channel/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_widget_channel import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *guild_widget_channel.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_option/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .interaction_option import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *interaction_option.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/message/message_interaction/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .message_interaction import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *message_interaction.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/ext/slash/command/component_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .component_command import * 2 | from .constants import * 3 | 4 | __all__ = ( 5 | *component_command.__all__, 6 | *constants.__all__, 7 | ) 8 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_role/__init__.py: -------------------------------------------------------------------------------- 1 | from .audit_log_role import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *audit_log_role.__all__, 7 | *fields.__all__, 8 | 9 | ) 10 | -------------------------------------------------------------------------------- /hata/discord/builder/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | CONVERSION_KIND_NONE = 0 4 | CONVERSION_KIND_FIELD = 1 5 | CONVERSION_KIND_POSITIONAL = 2 6 | CONVERSION_KIND_KEYWORD = 3 7 | CONVERSION_KIND_INSTANCE = 3 8 | -------------------------------------------------------------------------------- /hata/discord/builder/conversions/__init__.py: -------------------------------------------------------------------------------- 1 | from .keyword import * 2 | from .nest_main import * 3 | from .none import * 4 | from .positional import * 5 | 6 | 7 | # Do not pass references down 8 | __all__ = () 9 | -------------------------------------------------------------------------------- /hata/ext/slash/command/form_submit_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .form_submit_command import * 2 | from .constants import * 3 | 4 | __all__ = ( 5 | *form_submit_command.__all__, 6 | *constants.__all__, 7 | ) 8 | -------------------------------------------------------------------------------- /hata/discord/application/sku_enhancement_guild/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .sku_enhancement_guild import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *sku_enhancement_guild.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/component/interaction_component/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .interaction_component import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *interaction_component.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/soundboard/__init__.py: -------------------------------------------------------------------------------- 1 | from .soundboard_sound import * 2 | from .soundboard_sounds_event import * 3 | 4 | 5 | __all__ = ( 6 | *soundboard_sound.__all__, 7 | *soundboard_sounds_event.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/ext/slash/command/command_base_custom_id/__init__.py: -------------------------------------------------------------------------------- 1 | from .command_base_custom_id import * 2 | from .helpers import * 3 | 4 | __all__ = ( 5 | *command_base_custom_id.__all__, 6 | *helpers.__all__, 7 | ) 8 | -------------------------------------------------------------------------------- /hata/main/commands/default/scaffold/layouts/package/__init__.py: -------------------------------------------------------------------------------- 1 | from .readme_rendering import * 2 | from .structure import * 3 | 4 | 5 | __all__ = ( 6 | *readme_rendering.__all__, 7 | *structure.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/role/role_color_configuration/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .role_color_configuration import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *role_color_configuration.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/soundboard/soundboard_sounds_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .soundboard_sounds_event import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *soundboard_sounds_event.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_enhancement_entitlements_delete_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .guild_enhancement_entitlements_delete_event import * 2 | 3 | 4 | __all__ = ( 5 | *guild_enhancement_entitlements_delete_event.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/message/message_role_subscription/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .message_role_subscription import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *message_role_subscription.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/onboarding/onboarding_prompt_option/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .onboarding_prompt_option import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *onboarding_prompt_option.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_events/__init__.py: -------------------------------------------------------------------------------- 1 | from .add import * 2 | from .delete import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *add.__all__, 8 | *delete.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | PLATFORM_NAME_LENGTH_MIN = 1 4 | PLATFORM_NAME_LENGTH_MAX = 100 5 | 6 | PLATFORM_USER_NAME_LENGTH_MIN = 1 7 | PLATFORM_USER_NAME_LENGTH_MAX = 100 8 | -------------------------------------------------------------------------------- /hata/discord/exceptions/voice_error_codes.py: -------------------------------------------------------------------------------- 1 | __all__ = ('VOICE_CLIENT_DISCONNECT_CLOSE_CODE', 'VOICE_CLIENT_RECONNECT_CLOSE_CODE', ) 2 | 3 | 4 | VOICE_CLIENT_RECONNECT_CLOSE_CODE = 4000 5 | VOICE_CLIENT_DISCONNECT_CLOSE_CODE = 4014 6 | -------------------------------------------------------------------------------- /hata/main/commands/default/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from .scaffold import * 4 | 5 | from .help import * 6 | from .interpreter import * 7 | from .profiling import * 8 | from .run import * 9 | from .version import * 10 | -------------------------------------------------------------------------------- /hata/discord/application/eula/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .eula import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *eula.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application/team/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .team import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *team.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_field/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .field import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *field.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .image import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *image.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .video import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *video.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/emoji/emoji/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | import re 4 | 5 | NAME_LENGTH_MIN = 2 6 | NAME_LENGTH_MAX = 32 7 | 8 | NAME_ALLOWED_CHARACTERS = re.compile('([0-9A-Za-z_]+)') 9 | 10 | UNICODE_EMOJI_LIMIT = 1 << 21 11 | -------------------------------------------------------------------------------- /hata/discord/guild/discovery/__init__.py: -------------------------------------------------------------------------------- 1 | from .discovery import * 2 | from .fields import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *discovery.__all__, 8 | *fields.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/localization/__init__.py: -------------------------------------------------------------------------------- 1 | from .helpers import * 2 | from .preinstanced import * 3 | from .utils import * 4 | 5 | __all__ = ( 6 | *helpers.__all__, 7 | *preinstanced.__all__, 8 | *utils.__all__, 9 | ) 10 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/.gitignore: -------------------------------------------------------------------------------- 1 | # Generic 2 | *.env 3 | *.venv 4 | 5 | # Python 6 | *.pyc 7 | __pycache__/ 8 | 9 | # Editor 10 | .idea 11 | 12 | # Data files 13 | *.pickle 14 | *.sqlite3 15 | 16 | # Hata 17 | .profiles/ 18 | -------------------------------------------------------------------------------- /hata/discord/bases/place_holder/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | from .functional import * 3 | from .standard import * 4 | 5 | 6 | __all__ = ( 7 | *base.__all__, 8 | *functional.__all__, 9 | *standard.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_author/__init__.py: -------------------------------------------------------------------------------- 1 | from .author import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *author.__all__, 8 | *constants.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_footer/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .footer import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *footer.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/ban_entry/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .ban_entry import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *ban_entry.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_join_request_delete_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_join_request_delete_event import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *guild_join_request_delete_event.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_result/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .poll_result import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *poll_result.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/bots/label.py: -------------------------------------------------------------------------------- 1 | __all__ = ('Label',) 2 | 3 | from hata import Client 4 | 5 | from ..constants import LABEL_TOKEN 6 | 7 | 8 | Label = Client( 9 | LABEL_TOKEN, 10 | extensions = ['slash'], 11 | ) 12 | -------------------------------------------------------------------------------- /hata/discord/application/application_install_parameters/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_install_parameters import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *application_install_parameters.__all__, 7 | *fields.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log/__init__.py: -------------------------------------------------------------------------------- 1 | from .audit_log import * 2 | from .fields import * 3 | from .helpers import * 4 | 5 | 6 | __all__ = ( 7 | *audit_log.__all__, 8 | *fields.__all__, 9 | *helpers.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_provider/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .provider import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *provider.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/emoji/reaction/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .reaction import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *reaction.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_user/fields.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...field_validators import entity_validator_factory 4 | 5 | from ..oauth2_access import Oauth2Access 6 | 7 | validate_access = entity_validator_factory('access', Oauth2Access) 8 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_answer/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .poll_answer import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *poll_answer.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/role/role/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ..role_manager_metadata import RoleManagerMetadataBase 4 | 5 | 6 | NAME_LENGTH_MIN = 1 7 | NAME_LENGTH_MAX = 100 8 | 9 | ROLE_MANAGER_DEFAULT = RoleManagerMetadataBase() 10 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_occasion_overwrite_delete_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .scheduled_event_occasion_overwrite_delete_event import * 2 | 3 | 4 | __all__ = ( 5 | *scheduled_event_occasion_overwrite_delete_event.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_occasion_overwrite_update_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .scheduled_event_occasion_overwrite_update_event import * 2 | 3 | 4 | __all__ = ( 5 | *scheduled_event_occasion_overwrite_update_event.__all__, 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook_source_guild/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .guild import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *guild.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/bots/jacket.py: -------------------------------------------------------------------------------- 1 | __all__ = ('Jacket',) 2 | 3 | from hata import Client 4 | 5 | from ..constants import JACKET_TOKEN 6 | 7 | 8 | Jacket = Client( 9 | JACKET_TOKEN, 10 | extensions = ['slash'], 11 | ) 12 | -------------------------------------------------------------------------------- /hata/discord/component/media_item/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .media_item import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *media_item.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .thumbnail import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *thumbnail.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_badge/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .guild_badge import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *guild_badge.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_incidents/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_incidents import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *guild_incidents.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_subscribe_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .scheduled_event_subscribe_event import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *scheduled_event_subscribe_event.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/user/name_plate/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .name_plate import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *name_plate.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/ext/slash/command/command_base_application_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .command_base_application_command import * 2 | from .helpers import * 3 | 4 | 5 | __all__ = ( 6 | *command_base_application_command.__all__, 7 | *helpers.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/emoji/reaction_mapping/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .reaction_mapping import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *reaction_mapping.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_preview/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .guild_preview import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *guild_preview.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/interaction/responding/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .context import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *context.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_question/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .poll_question import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *poll_question.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/schedule/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .schedule import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *schedule.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook_source_channel/__init__.py: -------------------------------------------------------------------------------- 1 | from .channel import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *channel.__all__, 8 | *constants.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application/team_member/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .team_member import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *team_member.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_change/__init__.py: -------------------------------------------------------------------------------- 1 | from .audit_log_change import * 2 | from .fields import * 3 | from .flags import * 4 | 5 | 6 | __all__ = ( 7 | *audit_log_change.__all__, 8 | *fields.__all__, 9 | *flags.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_access/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .oauth2_access import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *oauth2_access.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application/subscription/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .subscription import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *subscription.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/component/interaction_form/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .interaction_form import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *interaction_form.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/message/message_snapshot/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .constants import * 3 | from .message_snapshot import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *constants.__all__, 9 | *message_snapshot.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/message/voice_attachment/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .voice_attachment import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *voice_attachment.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/ext/asyncio/README.md: -------------------------------------------------------------------------------- 1 | Scarletio extension giving support to asyncio based libraries. 2 | 3 | Before importing any asyncio based library, just do: 4 | 5 | ```py 6 | from scarletio.ext import asyncio 7 | ``` 8 | 9 | Then enjoy your free real estate. 10 | -------------------------------------------------------------------------------- /hata/ext/kokoro_sqlalchemy/__init__.py: -------------------------------------------------------------------------------- 1 | from .kokoro_sqlalchemy import * 2 | 3 | __all__ = kokoro_sqlalchemy.__all__ 4 | 5 | from .. import register_library_extension 6 | register_library_extension('HuyaneMatsu.kokoro_sqlalchemy') 7 | del register_library_extension 8 | -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DESCRIPTION_LENGTH_MIN = 1 4 | DESCRIPTION_LENGTH_MAX = 200 5 | 6 | KEY_LENGTH_MIN = 1 7 | KEY_LENGTH_MAX = 50 8 | 9 | NAME_LENGTH_MIN = 1 10 | NAME_LENGTH_MAX = 100 11 | -------------------------------------------------------------------------------- /hata/discord/emoji/reaction_mapping_line/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .reaction_mapping_line import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *reaction_mapping_line.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_account/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .integration_account import * 4 | 5 | __all__ = ( 6 | *constants.__all__, 7 | *fields.__all__, 8 | *integration_account.__all__, 9 | ) 10 | -------------------------------------------------------------------------------- /hata/discord/message/message_activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .message_activity import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *message_activity.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application/application_entity/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_entity import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *application_entity.__all__, 8 | *constants.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/bases/entity/__init__.py: -------------------------------------------------------------------------------- 1 | from .discord_entity_meta import * 2 | from .entity_base import * 3 | from .slotted_meta import * 4 | 5 | 6 | __all__ = ( 7 | *discord_entity_meta.__all__, 8 | *entity_base.__all__, 9 | *slotted_meta.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_enhancement_entitlements_create_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_enhancement_entitlements_create_event import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *guild_enhancement_entitlements_create_event.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_join_request/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_join_request import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *guild_join_request.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/message/message_application/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .message_application import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *message_application.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/onboarding/onboarding_prompt/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .onboarding_prompt import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *onboarding_prompt.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/user/status_by_platform/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .status_by_platform import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *status_by_platform.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/ext/slash/menus/__init__.py: -------------------------------------------------------------------------------- 1 | from .closer import * 2 | from .helpers import * 3 | from .menu import * 4 | from .pagination import * 5 | 6 | __all__ = ( 7 | *closer.__all__, 8 | *helpers.__all__, 9 | *menu.__all__, 10 | *pagination.__all__, 11 | ) 12 | -------------------------------------------------------------------------------- /hata/discord/component/string_select_option/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .string_select_option import * 4 | 5 | __all__ = ( 6 | *constants.__all__, 7 | *fields.__all__, 8 | *string_select_option.__all__, 9 | ) 10 | 11 | -------------------------------------------------------------------------------- /hata/discord/emoji/emoji/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .emoji import * 3 | from .fields import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *emoji.__all__, 10 | *fields.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_inventory_settings/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_inventory_settings import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *guild_inventory_settings.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_user_chunk_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .guild_user_chunk_event import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *guild_user_chunk_event.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/role/__init__.py: -------------------------------------------------------------------------------- 1 | from .role import * 2 | from .role_color_configuration import * 3 | from .role_manager_metadata import * 4 | 5 | 6 | __all__ = ( 7 | *role.__all__, 8 | *role_color_configuration.__all__, 9 | *role_manager_metadata.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/stage/stage/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .stage import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *stage.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/bases/preinstanced/__init__.py: -------------------------------------------------------------------------------- 1 | from .preinstance import * 2 | from .preinstanced_base import * 3 | from .preinstanced_meta import * 4 | 5 | 6 | __all__ = ( 7 | *preinstance.__all__, 8 | *preinstanced_base.__all__, 9 | *preinstanced_meta.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/channel/voice_channel_effect/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .voice_channel_effect import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *voice_channel_effect.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/emoji/reaction_events/__init__.py: -------------------------------------------------------------------------------- 1 | from .add import * 2 | from .delete import * 3 | from .fields import * 4 | from .helpers import * 5 | 6 | 7 | __all__ = ( 8 | *add.__all__, 9 | *delete.__all__, 10 | *fields.__all__, 11 | *helpers.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/guild/ban_add_multiple_result/__init__.py: -------------------------------------------------------------------------------- 1 | from .ban_add_multiple_result import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *ban_add_multiple_result.__all__, 8 | *constants.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | NAME_LENGTH_MIN = 2 4 | NAME_LENGTH_MAX = 31 5 | 6 | DESCRIPTION_LENGTH_MIN = 0 7 | DESCRIPTION_LENGTH_MAX = 1024 8 | 9 | SORT_VALUE_DEFAULT = 0 10 | 11 | SORT_VALUE_MIN = 0 12 | SORT_VALUE_MAX = (1 << 16) - 1 13 | -------------------------------------------------------------------------------- /hata/discord/webhook/__init__.py: -------------------------------------------------------------------------------- 1 | from .webhook import * 2 | from .webhook_source_channel import * 3 | from .webhook_source_guild import * 4 | 5 | 6 | __all__ = ( 7 | *webhook.__all__, 8 | *webhook_source_channel.__all__, 9 | *webhook_source_guild.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/allowed_mentions/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .helpers import * 3 | from .proxy import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *helpers.__all__, 10 | *proxy.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/channel/forum_tag/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .forum_tag import * 4 | from .utils import * 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *forum_tag.__all__, 10 | *utils.__all__, 11 | ) 12 | -------------------------------------------------------------------------------- /hata/discord/events/soundboard_sounds_event_handler/__init__.py: -------------------------------------------------------------------------------- 1 | from .soundboard_sounds_event_handler import * 2 | from .soundboard_sounds_event_waiter import * 3 | 4 | 5 | __all__ = ( 6 | *soundboard_sounds_event_handler.__all__, 7 | *soundboard_sounds_event_waiter.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_widget_channel/fields.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...channel.channel.fields import parse_id, put_id, validate_id 4 | from ...channel.channel_metadata.fields import ( 5 | parse_name, parse_position, put_name, put_position, validate_name, validate_position 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_application/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .integration_application import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *integration_application.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/poll/poll/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .poll import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *poll.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/application/application_executable/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_executable import * 2 | from .fields import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *application_executable.__all__, 8 | *fields.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application/application_integration_type_configuration/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_integration_type_configuration import * 2 | from .fields import * 3 | 4 | 5 | __all__ = ( 6 | *application_integration_type_configuration.__all__, 7 | *fields.__all__, 8 | ) 9 | 10 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_activity_overview_tag/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .guild_activity_overview_tag import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *guild_activity_overview_tag.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/schedule_nth_weeks_day/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .schedule_nth_weeks_day import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *preinstanced.__all__, 9 | *schedule_nth_weeks_day.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/user/user/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | DISCRIMINATOR_VALUE_MIN = 0 4 | DISCRIMINATOR_VALUE_MAX = 9999 5 | 6 | DISPLAY_NAME_LENGTH_MAX = 32 7 | 8 | NAME_LENGTH_MIN = 2 9 | NAME_LENGTH_MAX = 32 10 | 11 | WEBHOOK_NAME_LENGTH_MIN = 1 12 | WEBHOOK_NAME_LENGTH_MAX = 80 13 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/get_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('get_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.get_plugin) 9 | def get_plugin(name): 10 | return PLUGIN_LOADER.get_plugin(name) 11 | -------------------------------------------------------------------------------- /hata/discord/message/attachment/__init__.py: -------------------------------------------------------------------------------- 1 | from .attachment import * 2 | from .constants import * 3 | from .fields import * 4 | from .flags import * 5 | 6 | 7 | __all__ = ( 8 | *attachment.__all__, 9 | *constants.__all__, 10 | *fields.__all__, 11 | *flags.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_occasion_overwrite_create_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .scheduled_event_occasion_overwrite_create_event import * 3 | 4 | 5 | __all__ = ( 6 | *fields.__all__, 7 | *scheduled_event_occasion_overwrite_create_event.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/user/thread_profile/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .flags import * 3 | from .thread_profile import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *fields.__all__, 9 | *flags.__all__, 10 | *thread_profile.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from hata.env import EnvGetter 4 | 5 | 6 | with EnvGetter() as env: 7 | JACKET_TOKEN = env.get_str('JACKET_TOKEN', raise_if_missing_or_empty = True) 8 | LABEL_TOKEN = env.get_str('LABEL_TOKEN', raise_if_missing_or_empty = True) 9 | -------------------------------------------------------------------------------- /hata/discord/activity/activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .activity import * 2 | from .constants import * 3 | from .fields import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *activity.__all__, 9 | *constants.__all__, 10 | *fields.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/action/__init__.py: -------------------------------------------------------------------------------- 1 | from .action import * 2 | from .fields import * 3 | from .helpers import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *action.__all__, 9 | *fields.__all__, 10 | *helpers.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/component/component/__init__.py: -------------------------------------------------------------------------------- 1 | from .component import * 2 | from .fields import * 3 | from .flags import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *component.__all__, 9 | *fields.__all__, 10 | *flags.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/component/entity_select_default_value/__init__.py: -------------------------------------------------------------------------------- 1 | from .entity_select_default_value import * 2 | from .fields import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *entity_select_default_value.__all__, 8 | *fields.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/onboarding/__init__.py: -------------------------------------------------------------------------------- 1 | from .onboarding_prompt import * 2 | from .onboarding_prompt_option import * 3 | from .onboarding_screen import * 4 | 5 | 6 | __all__ = ( 7 | *onboarding_prompt.__all__, 8 | *onboarding_prompt_option.__all__, 9 | *onboarding_screen.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/embedded_activity_location/__init__.py: -------------------------------------------------------------------------------- 1 | from .embedded_activity_location import * 2 | from .fields import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *embedded_activity_location.__all__, 8 | *fields.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/embedded_activity_user_state/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .embedded_activity_user_state import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *embedded_activity_user_state.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_activity_overview/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ..guild.constants import DESCRIPTION_LENGTH_MAX, NAME_LENGTH_MIN, NAME_LENGTH_MAX 4 | from ..guild_badge.constants import ( 5 | BADGE_TAG_LENGTH_MIN as BADGE_TAG_LENGTH_MIN, BADGE_TAG_LENGTH_MAX as BADGE_TAG_LENGTH_MAX 6 | ) 7 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .utils import * 4 | from .welcome_screen import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *utils.__all__, 11 | *welcome_screen.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/oauth2/connection/__init__.py: -------------------------------------------------------------------------------- 1 | from .connection import * 2 | from .constants import * 3 | from .fields import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *connection.__all__, 9 | *constants.__all__, 10 | *fields.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/main/commands/default/scaffold/__init__.py: -------------------------------------------------------------------------------- 1 | from .layouts import * 2 | 3 | from .command import * 4 | from .helpers import * 5 | from .naming import * 6 | 7 | 8 | __all__ = ( 9 | *layouts.__all__, 10 | 11 | *command.__all__, 12 | *helpers.__all__, 13 | *naming.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/application/client_platform_configuration/__init__.py: -------------------------------------------------------------------------------- 1 | from .client_platform_configuration import * 2 | from .fields import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *client_platform_configuration.__all__, 8 | *fields.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | OPTIONS_MAX = 25 4 | CHOICES_MAX = 25 5 | 6 | MAX_LENGTH_DEFAULT = 0 7 | MAX_LENGTH_MIN = 1 8 | MAX_LENGTH_MAX = 6000 9 | 10 | MIN_LENGTH_DEFAULT = 0 11 | MIN_LENGTH_MIN = 0 12 | MIN_LENGTH_MAX = 6000 13 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/audit_log_entry_detail_conversion/__init__.py: -------------------------------------------------------------------------------- 1 | from .audit_log_entry_detail_conversion import * 2 | from .audit_log_entry_detail_conversion_group import * 3 | 4 | 5 | __all__ = ( 6 | *audit_log_entry_detail_conversion.__all__, 7 | *audit_log_entry_detail_conversion_group.__all__, 8 | ) 9 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_activity_overview_activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .guild_activity_overview_activity import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *guild_activity_overview_activity.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_inventory_settings/utils.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from .fields import put_emoji_pack_collectible, validate_emoji_pack_collectible 4 | 5 | 6 | GUILD_INVENTORY_SETTINGS_FIELD_CONVERTERS = { 7 | 'emoji_pack_collectible': (validate_emoji_pack_collectible, put_emoji_pack_collectible), 8 | } 9 | -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection/__init__.py: -------------------------------------------------------------------------------- 1 | from .connection import * 2 | from .constants import * 3 | from .fields import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *connection.__all__, 9 | *constants.__all__, 10 | *fields.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | LIMIT_GLOBAL = 100 4 | LIMIT_GUILD = 100 5 | LENGTH_MAX = 4000 6 | 7 | NAME_LENGTH_MIN = 1 8 | NAME_LENGTH_MAX = 32 9 | DESCRIPTION_LENGTH_MIN = 2 10 | DESCRIPTION_LENGTH_MAX = 100 11 | OPTIONS_MAX = 25 12 | CHOICES_MAX = 25 13 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_permission/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_command_permission import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *application_command_permission.__all__, 8 | *constants.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/bases/flags/__init__.py: -------------------------------------------------------------------------------- 1 | from .flag import * 2 | from .flag_deprecation import * 3 | from .flag_descriptors import * 4 | from .flag_meta import * 5 | 6 | 7 | __all__ = ( 8 | *flag.__all__, 9 | *flag_deprecation.__all__, 10 | *flag_descriptors.__all__, 11 | *flag_meta.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_join_request_form_response/__init__.py: -------------------------------------------------------------------------------- 1 | from .guild_join_request_form_response import * 2 | 3 | __all__ = guild_join_request_form_response.__all__ 4 | 5 | from ....utils.module_deprecation import deprecated_import 6 | 7 | deprecated_import(GuildJoinRequestFormResponse, 'GuildRequestFormResponse') 8 | -------------------------------------------------------------------------------- /hata/discord/message/message_builder/__init__.py: -------------------------------------------------------------------------------- 1 | from .message_builder import * 2 | from .message_reference_configuration import * 3 | from .preinstanced import * 4 | 5 | 6 | __all__ = ( 7 | *message_builder.__all__, 8 | *message_reference_configuration.__all__, 9 | *preinstanced.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_occasion_overwrite/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .scheduled_event_occasion_overwrite import * 3 | from .utils import * 4 | 5 | 6 | __all__ = ( 7 | *fields.__all__, 8 | *scheduled_event_occasion_overwrite.__all__, 9 | *utils.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/soundboard/soundboard_sound/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .soundboard_sound import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *soundboard_sound.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/vampytest_config.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from vampytest import ScarletioCoroutineEnvironment, set_global_environment 4 | 5 | from .discord import KOKORO 6 | 7 | 8 | # We run every async test inside of hata on our event loop. 9 | set_global_environment(ScarletioCoroutineEnvironment(event_loop = KOKORO)) 10 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .utils import * 4 | from .verification_screen import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *utils.__all__, 11 | *verification_screen.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option_choice/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_command_option_choice import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | *application_command_option_choice.__all__, 8 | *constants.__all__, 9 | *fields.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/onboarding/onboarding_screen/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .onboarding_screen import * 3 | from .preinstanced import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *fields.__all__, 9 | *onboarding_screen.__all__, 10 | *preinstanced.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/load_all_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('load_all_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.load) 9 | def load_all_plugin(*, blocking = True): 10 | return PLUGIN_LOADER.load_all(blocking = blocking) 11 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/embedded_activity/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | EMBEDDED_ACTIVITY_UPDATE_NONE = 0 5 | EMBEDDED_ACTIVITY_UPDATE_CREATE = 1 6 | EMBEDDED_ACTIVITY_UPDATE_DELETE = 2 7 | EMBEDDED_ACTIVITY_UPDATE_UPDATE = 3 8 | EMBEDDED_ACTIVITY_UPDATE_USER_ADD = 4 9 | EMBEDDED_ACTIVITY_UPDATE_USER_DELETE = 5 10 | -------------------------------------------------------------------------------- /hata/discord/guild/guild_activity_overview/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .guild_activity_overview import * 4 | from .utils import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *guild_activity_overview.__all__, 11 | *utils.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | 4 | # expire grace period 5 | EXPIRE_GRACE_PERIOD_DEFAULT = 0 6 | 7 | EXPIRE_GRACE_PERIOD_OPTIONS = frozenset(( 8 | EXPIRE_GRACE_PERIOD_DEFAULT, 9 | 1, 3, 7, 14, 30 10 | )) 11 | 12 | # subscriber count 13 | SUBSCRIBER_COUNT_DEFAULT = 0 14 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/reload_all_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('reload_all_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.load) 9 | def reload_all_plugin(*, blocking = True): 10 | return PLUGIN_LOADER.reload_all(blocking = blocking) 11 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/unload_all_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('unload_all_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.load) 9 | def unload_all_plugin(*, blocking = True): 10 | return PLUGIN_LOADER.unload_all(blocking = blocking) 11 | -------------------------------------------------------------------------------- /hata/ext/slash/README.md: -------------------------------------------------------------------------------- 1 | Hata extension providing easy api for handling interaction events. 2 | 3 | For usage check out [slash.md](../../../docs/topics/slash.md), which covers slash and context commands and auto 4 | completion. And iT's continuation [components.md](../../../docs/topics/components.md) covering component interactions. 5 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .embedded_activity import * 2 | from .embedded_activity_location import * 3 | from .embedded_activity_user_state import * 4 | 5 | 6 | __all__ = ( 7 | *embedded_activity.__all__, 8 | *embedded_activity_location.__all__, 9 | *embedded_activity_user_state.__all__, 10 | ) 11 | -------------------------------------------------------------------------------- /hata/discord/invite/invite/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .flags import * 3 | from .invite import * 4 | from .preinstanced import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *fields.__all__, 10 | *flags.__all__, 11 | *invite.__all__, 12 | *preinstanced.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/message/shared_client_theme/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .preinstanced import * 4 | from .shared_client_theme import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *preinstanced.__all__, 11 | *shared_client_theme.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/role/role_manager_metadata/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | APPLICATION_ROLE_CONNECTION_KEY = 'guild_connections' 4 | BOOSTER_KEY = 'premium_subscriber' 5 | BOT_ID_KEY = 'bot_id' 6 | INTEGRATION_ID_KEY = 'integration_id' 7 | PURCHASABLE_KEY = 'available_for_purchase' 8 | SUBSCRIPTION_LISTING_ID_KEY = 'subscription_listing_id' 9 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/snapshot/__init__.py: -------------------------------------------------------------------------------- 1 | from .base_snapshot_type import * 2 | from .event_handler_snapshot import * 3 | from .helpers import * 4 | from .snapshot import * 5 | 6 | __all__ = ( 7 | *base_snapshot_type.__all__, 8 | *event_handler_snapshot.__all__, 9 | *helpers.__all__, 10 | *snapshot.__all__, 11 | ) 12 | -------------------------------------------------------------------------------- /hata/ext/top_gg/README.md: -------------------------------------------------------------------------------- 1 | Hata extension for interaction with [top.gg](https://top.gg)'s API. 2 | 3 | Just because hata is not popular, it does not mean hata bots should not be either! 4 | Put your bot on [top.gg](https://top.gg) and make Mama proud. 5 | 6 | For brief documentation check out [top_gg.md](../../../docs/topics/top_gg.md). 7 | -------------------------------------------------------------------------------- /hata/discord/application/sku/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .flags import * 4 | from .preinstanced import * 5 | from .sku import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *fields.__all__, 11 | *flags.__all__, 12 | *preinstanced.__all__, 13 | *sku.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/channel/channel/__init__.py: -------------------------------------------------------------------------------- 1 | from .channel import * 2 | from .fields import * 3 | from .flags import * 4 | from .preinstanced import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *channel.__all__, 10 | *fields.__all__, 11 | *flags.__all__, 12 | *preinstanced.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/embed/embed/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .embed import * 3 | from .fields import * 4 | from .flags import * 5 | from .preinstanced import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *embed.__all__, 11 | *fields.__all__, 12 | *flags.__all__, 13 | *preinstanced.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_command import * 2 | from .constants import * 3 | from .fields import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *application_command.__all__, 9 | *constants.__all__, 10 | *fields.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen_step/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .preinstanced import * 4 | from .verification_screen_step import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *preinstanced.__all__, 11 | *verification_screen_step.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .interaction_event import InteractionEvent 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *constants.__all__, 9 | *fields.__all__, 10 | *interaction_event.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/load_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('load_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.load) 9 | def load_plugin(name, *, blocking = True, deep = True): 10 | return PLUGIN_LOADER.load(name, blocking = blocking, deep = deep) 11 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/rule/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .rule import * 3 | from .fields import * 4 | from .helpers import * 5 | from .preinstanced import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *rule.__all__, 11 | *fields.__all__, 12 | *helpers.__all__, 13 | *preinstanced.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/message/voice_attachment/fields.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...field_putters import float_putter_factory 4 | 5 | from ..attachment.fields import ( 6 | put_description, put_waveform, validate_description, validate_duration, validate_name, validate_waveform 7 | ) 8 | 9 | 10 | put_duration = float_putter_factory('duration_secs') 11 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .preinstanced import * 4 | from .sticker import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *fields.__all__, 11 | *preinstanced.__all__, 12 | *sticker.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/user/guild_profile/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .flags import * 4 | from .guild_profile import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *fields.__all__, 11 | *flags.__all__, 12 | *guild_profile.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__ZEROUSER.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ....core import USERS 4 | 5 | from ..utils import ZEROUSER 6 | 7 | 8 | def test__ZEROUSER(): 9 | """ 10 | Tests whether zerouser is cached. 11 | """ 12 | vampytest.assert_in(ZEROUSER.id, USERS) 13 | vampytest.assert_is(USERS[ZEROUSER.id], ZEROUSER) 14 | -------------------------------------------------------------------------------- /hata/discord/voice/packets/__init__.py: -------------------------------------------------------------------------------- 1 | from .array import * 2 | from .constants import * 3 | from .rtp_packet import * 4 | from .utils import * 5 | from .voice_packet import * 6 | 7 | 8 | __all__ = ( 9 | *array.__all__, 10 | *constants.__all__, 11 | *rtp_packet.__all__, 12 | *utils.__all__, 13 | *voice_packet.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/application/entitlement/__init__.py: -------------------------------------------------------------------------------- 1 | from .entitlement import * 2 | from .fields import * 3 | from .flags import * 4 | from .preinstanced import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *entitlement.__all__, 10 | *fields.__all__, 11 | *flags.__all__, 12 | *preinstanced.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/interaction/__init__.py: -------------------------------------------------------------------------------- 1 | from .interaction_event import * 2 | from .interaction_metadata import * 3 | from .interaction_option import * 4 | from .responding import * 5 | 6 | 7 | __all__ = ( 8 | *interaction_event.__all__, 9 | *interaction_metadata.__all__, 10 | *interaction_option.__all__, 11 | *responding.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/reload_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('reload_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.reload) 9 | def reload_plugin(name, *, blocking = True, deep = True): 10 | return PLUGIN_LOADER.reload(name, blocking = blocking, deep = deep) 11 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/unload_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('unload_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.unload) 9 | def unload_plugin(name, *, blocking = True, deep = True): 10 | return PLUGIN_LOADER.unload(name, blocking = blocking, deep = deep) 11 | -------------------------------------------------------------------------------- /hata/discord/audit_logs/conversion_helpers/tests/test__hash_dict.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..helpers import _hash_dict 4 | 5 | 6 | def test__hash_dict(): 7 | """ 8 | Tests whether ``_hash_dict`` works as intended. 9 | """ 10 | output = _hash_dict({'hey': 'mister', 'scared': 'noises'}) 11 | vampytest.assert_instance(output, int) 12 | -------------------------------------------------------------------------------- /hata/discord/poll/__init__.py: -------------------------------------------------------------------------------- 1 | from .poll import * 2 | from .poll_answer import * 3 | from .poll_events import * 4 | from .poll_question import * 5 | from .poll_result import * 6 | 7 | 8 | __all__ = ( 9 | *poll.__all__, 10 | *poll_answer.__all__, 11 | *poll_events.__all__, 12 | *poll_question.__all__, 13 | *poll_result.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event_entity_metadata/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | from .fields import * 3 | from .location import * 4 | from .stage import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *base.__all__, 10 | *fields.__all__, 11 | *location.__all__, 12 | *stage.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/integration/integration/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .integration import * 4 | from .preinstanced import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *fields.__all__, 11 | *integration.__all__, 12 | *preinstanced.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/plugin_tree/__init__.py: -------------------------------------------------------------------------------- 1 | from .plugin_helpers import * 2 | from .plugin_tree import * 3 | from .plugin_tree_helpers import * 4 | from .plugin_tree_iterator import * 5 | 6 | 7 | __all__ = ( 8 | *plugin_helpers.__all__, 9 | *plugin_tree.__all__, 10 | *plugin_tree_helpers.__all__, 11 | *plugin_tree_iterator.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/clear_default_plugin_variables_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('clear_default_plugin_variables',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.clear_default_variables) 9 | def clear_default_plugin_variables(): 10 | return PLUGIN_LOADER.clear_default_variables() 11 | -------------------------------------------------------------------------------- /hata/discord/integration/__init__.py: -------------------------------------------------------------------------------- 1 | from .integration import * 2 | from .integration_account import * 3 | from .integration_application import * 4 | from .integration_metadata import * 5 | 6 | 7 | __all__ = ( 8 | *integration.__all__, 9 | *integration_account.__all__, 10 | *integration_application.__all__, 11 | *integration_metadata.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Discuss a question 4 | url: https://github.com/HuyaneMatsu/hata/discussions 5 | about: Ask questions and discuss with other users. 6 | - name: Discord server 7 | url: https://discord.gg/3cH2r5d 8 | about: Please visit our Discord server for questions and support requests. 9 | -------------------------------------------------------------------------------- /hata/ext/plugin_auto_reloader/utils/stop_auto_reloader_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('stop_auto_reloader',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_auto_reloader import PLUGIN_AUTO_RELOADER_MANAGER, PluginAutoReloaderManager 6 | 7 | 8 | @copy_docs(PluginAutoReloaderManager.stop) 9 | def stop_auto_reloader(): 10 | return PLUGIN_AUTO_RELOADER_MANAGER.stop() 11 | -------------------------------------------------------------------------------- /hata/discord/embedded_activity/embedded_activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .embedded_activity import * 3 | from .fields import * 4 | from .helpers import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *embedded_activity.__all__, 11 | *fields.__all__, 12 | *helpers.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/ext/plugin_auto_reloader/utils/start_auto_reloader_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('start_auto_reloader',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_auto_reloader import PLUGIN_AUTO_RELOADER_MANAGER, PluginAutoReloaderManager 6 | 7 | 8 | @copy_docs(PluginAutoReloaderManager.start) 9 | def start_auto_reloader(): 10 | return PLUGIN_AUTO_RELOADER_MANAGER.start() 11 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/add_default_plugin_variables_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('remove_default_plugin_variables',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.remove_default_variables) 9 | def remove_default_plugin_variables(*names): 10 | return PLUGIN_LOADER.remove_default_variables(*names) 11 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/remove_default_plugin_variables_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('add_default_plugin_variables',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.add_default_variables) 9 | def add_default_plugin_variables(**variables): 10 | return PLUGIN_LOADER.add_default_variables(**variables) 11 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/__init__.py: -------------------------------------------------------------------------------- 1 | from .action import * 2 | from .action_metadata import * 3 | from .execution_event import * 4 | from .rule import * 5 | from .trigger_metadata import * 6 | 7 | 8 | __all__ = ( 9 | *action.__all__, 10 | *action_metadata.__all__, 11 | *execution_event.__all__, 12 | *rule.__all__, 13 | *trigger_metadata.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/channel/permission_overwrite/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .helpers import * 3 | from .permission_overwrite import * 4 | from .preinstanced import * 5 | from .utils import * 6 | 7 | 8 | __all__ = ( 9 | *fields.__all__, 10 | *helpers.__all__, 11 | *permission_overwrite.__all__, 12 | *preinstanced.__all__, 13 | *utils.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/ext/plugin_auto_reloader/utils/update_auto_reloader_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('update_auto_reloader',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_auto_reloader import PLUGIN_AUTO_RELOADER_MANAGER, PluginAutoReloaderManager 6 | 7 | 8 | @copy_docs(PluginAutoReloaderManager.update) 9 | def update_auto_reloader(): 10 | return PLUGIN_AUTO_RELOADER_MANAGER.update() 11 | -------------------------------------------------------------------------------- /hata/ext/slash/interfaces/__init__.py: -------------------------------------------------------------------------------- 1 | from .autocomplete import * 2 | from .command import * 3 | from .exception_handler import * 4 | from .nestable import * 5 | from .self_reference import * 6 | 7 | 8 | __all__ = ( 9 | *autocomplete.__all__, 10 | *command.__all__, 11 | *exception_handler.__all__, 12 | *nestable.__all__, 13 | *self_reference.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection_metadata/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .helpers import * 4 | from .metadata import * 5 | from .preinstanced import * 6 | 7 | 8 | __all__ = ( 9 | *constants.__all__, 10 | *fields.__all__, 11 | *helpers.__all__, 12 | *metadata.__all__, 13 | *preinstanced.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/role/role/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .flags import * 4 | from .preinstanced import * 5 | from .role import * 6 | from .utils import * 7 | 8 | 9 | __all__ = ( 10 | *constants.__all__, 11 | *fields.__all__, 12 | *flags.__all__, 13 | *preinstanced.__all__, 14 | *role.__all__, 15 | *utils.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/register_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('register_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.register) 9 | def register_plugin(name, *positional_parameters, **keyword_parameters): 10 | return PLUGIN_LOADER.register(name, *positional_parameters, **keyword_parameters) 11 | -------------------------------------------------------------------------------- /hata/discord/exceptions/tests/helpers.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | 4 | def _assert_list_of_str(value): 5 | """ 6 | Asserts whether the given value is a list of strings. 7 | 8 | Parameters 9 | ---------- 10 | value : `object` 11 | """ 12 | vampytest.assert_instance(value, list) 13 | for element in value: 14 | vampytest.assert_instance(element, str) 15 | -------------------------------------------------------------------------------- /hata/discord/message/message/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .flags import * 4 | from .message import * 5 | from .preinstanced import * 6 | from .utils import * 7 | 8 | 9 | __all__ = ( 10 | *constants.__all__, 11 | *fields.__all__, 12 | *flags.__all__, 13 | *message.__all__, 14 | *preinstanced.__all__, 15 | *utils.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/permission/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...env import API_VERSION 4 | 5 | 6 | if API_VERSION in (6, 7): 7 | PERMISSION_KEY = 'permissions_new' 8 | PERMISSION_ALLOW_KEY = 'allow_new' 9 | PERMISSION_DENY_KEY = 'deny_new' 10 | 11 | else: 12 | PERMISSION_KEY = 'permissions' 13 | PERMISSION_ALLOW_KEY = 'allow' 14 | PERMISSION_DENY_KEY = 'deny' 15 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_permission_overwrite/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_command_permission_overwrite import * 2 | from .fields import * 3 | from .helpers import * 4 | from .preinstanced import * 5 | 6 | 7 | __all__ = ( 8 | *application_command_permission_overwrite.__all__, 9 | *fields.__all__, 10 | *helpers.__all__, 11 | *preinstanced.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/ext/slash/interfaces/tests/test__CommandInterface.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..autocomplete import CommandInterface 4 | 5 | 6 | def test__CommandInterface__get_command_function(): 7 | """ 8 | Tests whether ``CommandInterface.get_command_function`` works as intended. 9 | """ 10 | output = CommandInterface().get_command_function() 11 | vampytest.assert_is(output, None) 12 | -------------------------------------------------------------------------------- /hata/main/commands/default/scaffold/tests/test__build_scaffold_description.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..command import _build_scaffold_description 4 | 5 | 6 | def test__build_scaffold_description(): 7 | """ 8 | Tests whether ``_build_scaffold_description`` works as intended. 9 | """ 10 | output = _build_scaffold_description() 11 | vampytest.assert_instance(output, str) 12 | -------------------------------------------------------------------------------- /hata/discord/emoji/unicode/tests/test__Unicode__magic.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..unicode_type import Unicode 4 | 5 | 6 | def test__Unicode__repr(): 7 | """ 8 | Tests whether ``Unicode``'ss constructor works as intended. 9 | """ 10 | unicode = Unicode('owo', '56', False, ('anya',), ('got', 'banned'), ('54', '53')) 11 | 12 | vampytest.assert_instance(repr(unicode), str) 13 | -------------------------------------------------------------------------------- /hata/discord/exceptions/invalid_token.py: -------------------------------------------------------------------------------- 1 | __all__ = ('InvalidToken',) 2 | 3 | 4 | INVALID_TOKEN_ERROR_MESSAGE = 'Invalid token, please update it, then start the client again.' 5 | 6 | 7 | class InvalidToken(BaseException): 8 | __slots__ = () 9 | 10 | def __new__(cls): 11 | return BaseException.__new__(cls, INVALID_TOKEN_ERROR_MESSAGE) 12 | 13 | __init__ = object.__init__ 14 | -------------------------------------------------------------------------------- /hata/discord/application/application/__init__.py: -------------------------------------------------------------------------------- 1 | from .application import * 2 | from .constants import * 3 | from .fields import * 4 | from .flags import * 5 | from .preinstanced import * 6 | from .utils import * 7 | 8 | 9 | __all__ = ( 10 | *application.__all__, 11 | *constants.__all__, 12 | *fields.__all__, 13 | *flags.__all__, 14 | *preinstanced.__all__, 15 | *utils.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/action_metadata/__init__.py: -------------------------------------------------------------------------------- 1 | from .alert_message import * 2 | from .base import * 3 | from .block import * 4 | from .constants import * 5 | from .fields import * 6 | from .timeout import * 7 | 8 | 9 | __all__ = ( 10 | *alert_message.__all__, 11 | *base.__all__, 12 | *block.__all__, 13 | *constants.__all__, 14 | *fields.__all__, 15 | *timeout.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/application_command/application_command_option/__init__.py: -------------------------------------------------------------------------------- 1 | from .application_command_option import * 2 | from .constants import * 3 | from .fields import * 4 | from .helpers import * 5 | from .preinstanced import * 6 | 7 | 8 | __all__ = ( 9 | *application_command_option.__all__, 10 | *constants.__all__, 11 | *fields.__all__, 12 | *helpers.__all__, 13 | *preinstanced.__all__, 14 | ) 15 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook/__init__.py: -------------------------------------------------------------------------------- 1 | from .fields import * 2 | from .preinstanced import * 3 | from .utils import * 4 | from .webhook import * 5 | from .webhook_base import * 6 | from .webhook_repr import * 7 | 8 | 9 | __all__ = ( 10 | *fields.__all__, 11 | *preinstanced.__all__, 12 | *utils.__all__, 13 | *webhook.__all__, 14 | *webhook_base.__all__, 15 | *webhook_repr.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/ext/plugin_auto_reloader/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .start_auto_reloader_ import * 2 | from .stop_auto_reloader_ import * 3 | from .update_auto_reloader_ import * 4 | from .warn_auto_reloader_availability_ import * 5 | 6 | 7 | __all__ = ( 8 | *start_auto_reloader_.__all__, 9 | *stop_auto_reloader_.__all__, 10 | *update_auto_reloader_.__all__, 11 | *warn_auto_reloader_availability_.__all__, 12 | ) 13 | -------------------------------------------------------------------------------- /hata/discord/component/tests/test__create_auto_custom_id.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..shared_helpers import create_auto_custom_id 4 | 5 | 6 | def test__create_auto_custom_id(): 7 | """ 8 | Tests whether `create_auto_custom_id` works as intended. 9 | """ 10 | custom_id = create_auto_custom_id() 11 | 12 | vampytest.assert_instance(custom_id, str) 13 | vampytest.assert_true(custom_id) 14 | -------------------------------------------------------------------------------- /hata/discord/guild/verification_screen/utils.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from .fields import ( 4 | put_description, put_enabled, put_steps, validate_description, validate_enabled, validate_steps 5 | ) 6 | 7 | 8 | VERIFICATION_SCREEN_FIELD_CONVERTERS = { 9 | 'description': (validate_description, put_description), 10 | 'enabled': (validate_enabled, put_enabled), 11 | 'steps': (validate_steps, put_steps), 12 | } 13 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_metadata/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | from .constants import * 3 | from .discord import * 4 | from .fields import * 5 | from .preinstanced import * 6 | from .subscription import * 7 | 8 | 9 | __all__ = ( 10 | *base.__all__, 11 | *constants.__all__, 12 | *discord.__all__, 13 | *fields.__all__, 14 | *preinstanced.__all__, 15 | *subscription.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_event/constants.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...utils import seconds_to_id_difference 4 | 5 | from ..interaction_metadata import InteractionMetadataBase 6 | 7 | 8 | INTERACTION_EVENT_EXPIRE_AFTER = 900 # 15 min 9 | INTERACTION_EVENT_EXPIRE_AFTER_ID_DIFFERENCE = seconds_to_id_difference(INTERACTION_EVENT_EXPIRE_AFTER) 10 | 11 | DEFAULT_INTERACTION_METADATA = InteractionMetadataBase() 12 | -------------------------------------------------------------------------------- /docs/examples/scaffold_example/dipp/plugins/ping.py: -------------------------------------------------------------------------------- 1 | from time import perf_counter 2 | 3 | from hata import ClientWrapper 4 | 5 | 6 | ALL = ClientWrapper() 7 | 8 | 9 | @ALL.interactions(is_global = True, wait_for_acknowledgement = True) 10 | async def ping(): 11 | """HTTP ping-pong.""" 12 | start = perf_counter() 13 | yield 14 | delay = (perf_counter() - start) * 1000.0 15 | 16 | yield f'{delay:.0f} ms' 17 | -------------------------------------------------------------------------------- /hata/discord/scheduled_event/scheduled_event/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .helpers import * 4 | from .preinstanced import * 5 | from .scheduled_event import * 6 | from .utils import * 7 | 8 | 9 | __all__ = ( 10 | *constants.__all__, 11 | *fields.__all__, 12 | *helpers.__all__, 13 | *preinstanced.__all__, 14 | *scheduled_event.__all__, 15 | *utils.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/voice/audio_settings/__init__.py: -------------------------------------------------------------------------------- 1 | from .audio_settings import * 2 | from .constants import * 3 | from .fields import * 4 | 5 | 6 | __all__ = ( 7 | 'AUDIO_SETTINGS_DEFAULT', 8 | *audio_settings.__all__, 9 | *constants.__all__, 10 | *fields.__all__, 11 | ) 12 | 13 | 14 | AUDIO_SETTINGS_DEFAULT = AudioSettings( 15 | channels = 2, 16 | frame_length = 20, 17 | sampling_rate = 48000, 18 | ) 19 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_metadata/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | from .custom import * 3 | from .flags import * 4 | from .fields import * 5 | from .hanging import * 6 | from .preinstanced import * 7 | from .rich import * 8 | 9 | 10 | __all__ = ( 11 | *base.__all__, 12 | *custom.__all__, 13 | *flags.__all__, 14 | *fields.__all__, 15 | *hanging.__all__, 16 | *preinstanced.__all__, 17 | *rich.__all__, 18 | ) 19 | -------------------------------------------------------------------------------- /hata/ext/plugin_loader/utils/register_and_load_plugin_.py: -------------------------------------------------------------------------------- 1 | __all__ = ('register_and_load_plugin',) 2 | 3 | from scarletio import copy_docs 4 | 5 | from ..plugin_loader import PLUGIN_LOADER 6 | 7 | 8 | @copy_docs(PLUGIN_LOADER.register_and_load) 9 | def register_and_load_plugin(name, *parameters, blocking = True, **keyword_parameters): 10 | return PLUGIN_LOADER.register_and_load(name, *parameters, blocking = blocking, **keyword_parameters) 11 | -------------------------------------------------------------------------------- /hata/discord/bases/__init__.py: -------------------------------------------------------------------------------- 1 | from .entity import * 2 | from .event import * 3 | from .flags import * 4 | from .place_holder import * 5 | from .preinstanced import * 6 | 7 | from .icon import * 8 | from .utils import * 9 | 10 | 11 | __all__ = ( 12 | *entity.__all__, 13 | *event.__all__, 14 | *flags.__all__, 15 | *place_holder.__all__, 16 | *preinstanced.__all__, 17 | 18 | *icon.__all__, 19 | *utils.__all__, 20 | ) 21 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/tests/test__parse_width.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_width 4 | 5 | 6 | def test__parse_width(): 7 | """ 8 | Tests whether ``parse_width`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'width': 1}, 1), 13 | ): 14 | output = parse_width(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/tests/test__put_width.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_width 4 | 5 | 6 | def test__put_width(): 7 | """ 8 | Tests whether ``put_width`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'width': 0}), 12 | ): 13 | data = put_width(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/tests/test__parse_width.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_width 4 | 5 | 6 | def test__parse_width(): 7 | """ 8 | Tests whether ``parse_width`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'width': 1}, 1), 13 | ): 14 | output = parse_width(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/tests/test__put_width.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_width 4 | 5 | 6 | def test__put_width(): 7 | """ 8 | Tests whether ``put_width`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'width': 0}), 12 | ): 13 | data = put_width(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/tests/test__parse_height.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_height 4 | 5 | 6 | def test__parse_height(): 7 | """ 8 | Tests whether ``parse_height`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'height': 1}, 1), 13 | ): 14 | output = parse_height(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/tests/test__parse_width.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_width 4 | 5 | 6 | def test__parse_width(): 7 | """ 8 | Tests whether ``parse_width`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'width': 1}, 1), 13 | ): 14 | output = parse_width(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/tests/test__put_width.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_width 4 | 5 | 6 | def test__put_width(): 7 | """ 8 | Tests whether ``put_width`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'width': 0}), 12 | ): 13 | data = put_width(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/tests/test__parse_height.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_height 4 | 5 | 6 | def test__parse_height(): 7 | """ 8 | Tests whether ``parse_height`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'height': 1}, 1), 13 | ): 14 | output = parse_height(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/ext/plugin_auto_reloader/compatibility.py: -------------------------------------------------------------------------------- 1 | __all__ = ('AUTO_RELOAD_SUPPORTED',) 2 | 3 | from sys import platform 4 | 5 | 6 | AUTO_RELOAD_SUPPORTED = False 7 | INotify = None 8 | INotifyFlags = None 9 | 10 | IS_LINUX = platform == 'linux' 11 | 12 | if IS_LINUX: 13 | try: 14 | from inotify_simple import INotify, flags as INotifyFlags 15 | except ImportError: 16 | pass 17 | else: 18 | AUTO_RELOAD_SUPPORTED = True 19 | -------------------------------------------------------------------------------- /hata/main/core/__init__.py: -------------------------------------------------------------------------------- 1 | from .command import * 2 | 3 | from .call import * 4 | from .constants import * 5 | from .external import * 6 | from .helpers import * 7 | from .lookup import * 8 | from .registration import * 9 | 10 | 11 | __all__ = ( 12 | *command.__all__, 13 | 14 | *call.__all__, 15 | *constants.__all__, 16 | *external.__all__, 17 | *helpers.__all__, 18 | *registration.__all__, 19 | *lookup.__all__, 20 | ) 21 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_image/tests/test__put_height.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_height 4 | 5 | 6 | def test__put_height(): 7 | """ 8 | Tests whether ``put_height`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'height': 0}), 12 | ): 13 | data = put_height(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/tests/test__parse_height.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_height 4 | 5 | 6 | def test__parse_height(): 7 | """ 8 | Tests whether ``parse_height`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'height': 1}, 1), 13 | ): 14 | output = parse_height(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_thumbnail/tests/test__put_height.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_height 4 | 5 | 6 | def test__put_height(): 7 | """ 8 | Tests whether ``put_height`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'height': 0}), 12 | ): 13 | data = put_height(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_video/tests/test__put_height.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_height 4 | 5 | 6 | def test__put_height(): 7 | """ 8 | Tests whether ``put_height`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'height': 0}), 12 | ): 13 | data = put_height(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/exceptions/tests/test__hash_map_key_sort_key.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..payload_renderer import _hash_map_key_sort_key 4 | 5 | 6 | def test__hash_map_key_sort_key(): 7 | """ 8 | Tests whether ``_hash_map_key_sort_key`` works as intended. 9 | """ 10 | key = '45' 11 | value = 46 12 | 13 | item = (key, value) 14 | 15 | output = _hash_map_key_sort_key(item) 16 | 17 | vampytest.assert_eq(output, key) 18 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen_channel/__init__.py: -------------------------------------------------------------------------------- 1 | from .constants import * 2 | from .fields import * 3 | from .welcome_screen_channel import * 4 | 5 | 6 | __all__ = ( 7 | *constants.__all__, 8 | *fields.__all__, 9 | *welcome_screen_channel.__all__, 10 | ) 11 | 12 | # Apply deprecations ... 13 | 14 | from ....utils.module_deprecation import deprecated_import 15 | 16 | WelcomeChannel = deprecated_import(WelcomeScreenChannel, 'WelcomeChannel') 17 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__put_email.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_email 4 | 5 | 6 | def test__put_email(): 7 | """ 8 | Tests whether ``put_email`` works as intended. 9 | """ 10 | for input_, defaults, expected_output in ( 11 | (None, False, {}), 12 | ('meow', False, {'email': 'meow'}), 13 | ): 14 | data = put_email(input_, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/ext/slash/command/slash_command/__init__.py: -------------------------------------------------------------------------------- 1 | from .helpers import * 2 | from .slash_command import * 3 | from .slash_command_category import * 4 | from .slash_command_function import * 5 | from .slash_command_parameter_auto_completer import * 6 | 7 | __all__ = ( 8 | *helpers.__all__, 9 | *slash_command.__all__, 10 | *slash_command_category.__all__, 11 | *slash_command_function.__all__, 12 | *slash_command_parameter_auto_completer.__all__, 13 | ) 14 | -------------------------------------------------------------------------------- /hata/discord/builder/__init__.py: -------------------------------------------------------------------------------- 1 | from .conversions import * 2 | 3 | from .builder_base import * 4 | from .constants import * 5 | from .conversion import * 6 | from .descriptor import * 7 | from .serialization_configuration import * 8 | 9 | 10 | __all__ = ( 11 | *conversions.__all__, 12 | 13 | *builder_base.__all__, 14 | *constants.__all__, 15 | *conversion.__all__, 16 | *descriptor.__all__, 17 | *serialization_configuration.__all__, 18 | ) 19 | -------------------------------------------------------------------------------- /hata/discord/guild/guild/tests/test__parse_user_count.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_user_count 4 | 5 | 6 | def test__parse_user_count(): 7 | """ 8 | Tests whether ``parse_user_count`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'member_count': 1}, 1), 13 | ): 14 | output = parse_user_count(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/guild/guild/tests/test__put_user_count.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_user_count 4 | 5 | 6 | def test__put_user_count(): 7 | """ 8 | Tests whether ``put_user_count`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'member_count': 0}), 12 | ): 13 | data = put_user_count(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/application/third_party_sku/tests/test__put_sku.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_sku 4 | 5 | 6 | def test__put_sku(): 7 | """ 8 | Tests whether ``put_sku`` works as intended. 9 | """ 10 | for input_, defaults, expected_output in ( 11 | ('', False, {'sku': ''}), 12 | ('a', False, {'sku': 'a'}), 13 | ): 14 | data = put_sku(input_, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/events/event_handler_plugin/__init__.py: -------------------------------------------------------------------------------- 1 | from .event import * 2 | from .event_deprecation import * 3 | from .event_deprecation_descriptor import * 4 | from .event_handler_plugin import * 5 | from .helpers import * 6 | from .meta import * 7 | 8 | 9 | __all__ = ( 10 | *event.__all__, 11 | *event_deprecation.__all__, 12 | *event_deprecation_descriptor.__all__, 13 | *event_handler_plugin.__all__, 14 | *helpers.__all__, 15 | *meta.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/guild/welcome_screen/utils.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from .fields import ( 4 | put_description, put_enabled, put_welcome_channels, validate_description, validate_enabled, 5 | validate_welcome_channels 6 | ) 7 | 8 | 9 | WELCOME_SCREEN_FIELD_CONVERTERS = { 10 | 'description': (validate_description, put_description), 11 | 'enabled': (validate_enabled, put_enabled), 12 | 'welcome_channels': (validate_welcome_channels, put_welcome_channels), 13 | } 14 | -------------------------------------------------------------------------------- /hata/discord/http/tests/test__get_connector.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | from scarletio.http_client import ConnectorTCP 3 | 4 | from ..connector_cache import get_connector 5 | 6 | 7 | def test__get_connector(): 8 | """ 9 | Tests whether ``get_connector`` works as intended. 10 | """ 11 | output_0 = get_connector() 12 | vampytest.assert_instance(output_0, ConnectorTCP) 13 | 14 | output_1 = get_connector() 15 | vampytest.assert_is(output_0, output_1) 16 | -------------------------------------------------------------------------------- /hata/discord/oauth2/__init__.py: -------------------------------------------------------------------------------- 1 | from .connection import * 2 | from .oauth2_access import * 3 | from .oauth2_user import * 4 | 5 | from .helpers import * 6 | 7 | 8 | __all__ = ( 9 | *connection.__all__, 10 | *oauth2_access.__all__, 11 | *oauth2_user.__all__, 12 | 13 | *helpers.__all__, 14 | ) 15 | 16 | from ...utils.module_deprecation import deprecated_import 17 | deprecated_import(Oauth2User, 'UserOA2') 18 | deprecated_import(Oauth2Access, 'OA2Access') 19 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker/tests/test__put_sort_value.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_sort_value 4 | 5 | 6 | def test__put_sort_value(): 7 | """ 8 | Tests whether ``put_sort_value`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (0, False, {'sort_value': 0}), 12 | ): 13 | data = put_sort_value(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__create_partial_user_from_id.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from .. import User, create_partial_user_from_id 4 | 5 | 6 | def test__create_partial_user_from_id(): 7 | """ 8 | Tests whether `create_partial_user_from_id` caches as expected. 9 | """ 10 | user_id = 102 11 | 12 | user = create_partial_user_from_id(user_id) 13 | precreated = User.precreate(user_id) 14 | 15 | vampytest.assert_is(user, precreated) 16 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__parse_bot.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_bot 4 | 5 | 6 | def test__parse_bot(): 7 | """ 8 | Tests whether ``parse_bot`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'bot': False}, False), 13 | ({'bot': True}, True), 14 | ): 15 | output = parse_bot(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/message/message/tests/test__parse_tts.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_tts 4 | 5 | 6 | def test__parse_tts(): 7 | """ 8 | Tests whether ``parse_tts`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'tts': False}, False), 13 | ({'tts': True}, True), 14 | ): 15 | output = parse_tts(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/user/guild_profile/tests/test__put_nick.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_nick 4 | 5 | 6 | def test__put_nick(): 7 | """ 8 | Tests whether ``put_nick`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {}), 12 | ('a', False, {'nick': 'a'}), 13 | ): 14 | data = put_nick(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_secrets/tests/test__put_join.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_join 4 | 5 | 6 | def test__put_join(): 7 | """ 8 | Tests whether ``put_join`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {}), 12 | ('a', False, {'join': 'a'}), 13 | ): 14 | data = put_join(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/user/voice_state/tests/test__parse_deaf.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_deaf 4 | 5 | 6 | def test__parse_deaf(): 7 | """ 8 | Tests whether ``parse_deaf`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'deaf': False}, False), 13 | ({'deaf': True}, True), 14 | ): 15 | output = parse_deaf(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/user/voice_state/tests/test__parse_mute.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_mute 4 | 5 | 6 | def test__parse_mute(): 7 | """ 8 | Tests whether ``parse_mute`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'mute': False}, False), 13 | ({'mute': True}, True), 14 | ): 15 | output = parse_mute(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_secrets/tests/test__put_match.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_match 4 | 5 | 6 | def test__put_match(): 7 | """ 8 | Tests whether ``put_match`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {}), 12 | ('a', False, {'match': 'a'}), 13 | ): 14 | data = put_match(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/emoji/__init__.py: -------------------------------------------------------------------------------- 1 | from .emoji import * 2 | from .parsing import * 3 | from .reaction import * 4 | from .reaction_events import * 5 | from .reaction_mapping import * 6 | from .reaction_mapping_line import * 7 | from .unicode import * 8 | 9 | 10 | __all__ = ( 11 | *emoji.__all__, 12 | *parsing.__all__, 13 | *reaction.__all__, 14 | *reaction_events.__all__, 15 | *reaction_mapping.__all__, 16 | *reaction_mapping_line.__all__, 17 | *unicode.__all__, 18 | ) 19 | -------------------------------------------------------------------------------- /hata/discord/exceptions/__init__.py: -------------------------------------------------------------------------------- 1 | from .discord_exception import * 2 | from .discord_gateway_exception import * 3 | from .error_codes import * 4 | from .invalid_token import * 5 | from .voice_error_codes import * 6 | from . import error_codes as ERROR_CODES 7 | 8 | 9 | __all__ = ( 10 | 'ERROR_CODES', 11 | *discord_exception.__all__, 12 | *discord_gateway_exception.__all__, 13 | *error_codes.__all__, 14 | *invalid_token.__all__, 15 | *voice_error_codes.__all__, 16 | ) 17 | -------------------------------------------------------------------------------- /hata/discord/guild/guild/tests/test__parse_large.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_large 4 | 5 | 6 | def test__parse_large(): 7 | """ 8 | Tests whether ``parse_large`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'large': False}, False), 13 | ({'large': True}, True), 14 | ): 15 | output = parse_large(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/stage/stage/tests/test__put_topic.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_topic 4 | 5 | 6 | def test__put_topic(): 7 | """ 8 | Tests whether ``put_topic`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {'topic': ''}), 12 | ('a', False, {'topic': 'a'}), 13 | ): 14 | data = put_topic(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/webhook/webhook/tests/test__put_token.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_token 4 | 5 | 6 | def test__put_token(): 7 | """ 8 | Tests whether ``put_token`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | ('', False, {'token': ''}), 12 | ('a', False, {'token': 'a'}), 13 | ): 14 | data = put_token(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/application/application/tests/test__parse_book.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_hook 4 | 5 | 6 | def test__parse_hook(): 7 | """ 8 | Tests whether ``parse_hook`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'hook': False}, False), 13 | ({'hook': True}, True), 14 | ): 15 | output = parse_hook(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/application/application/tests/test__parse_hook.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_hook 4 | 5 | 6 | def test__parse_hook(): 7 | """ 8 | Tests whether ``parse_hook`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'hook': False}, False), 13 | ({'hook': True}, True), 14 | ): 15 | output = parse_hook(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/application/application_role_connection_metadata/tests/test__put_key.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_key 4 | 5 | 6 | def test__put_key(): 7 | """ 8 | Tests whether ``put_key`` works as intended. 9 | """ 10 | for input_, defaults, expected_output in ( 11 | ('', False, {'key': ''}), 12 | ('a', False, {'key': 'a'}), 13 | ): 14 | data = put_key(input_, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/component/string_select_option/tests/test__put_label.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_label 4 | 5 | 6 | def test__put_label(): 7 | """ 8 | Tests whether ``put_label`` is working as intended. 9 | """ 10 | for input_, defaults, expected_output in ( 11 | ('', False, {'label': ''}), 12 | ('a', False, {'label': 'a'}), 13 | ): 14 | data = put_label(input_, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/guild/discovery/utils.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from .fields import ( 4 | put_emoji_discovery, put_keywords, put_primary_category, validate_emoji_discovery, 5 | validate_keywords, validate_primary_category 6 | ) 7 | 8 | 9 | GUILD_DISCOVERY_FIELD_CONVERTERS = { 10 | 'emoji_discovery': (validate_emoji_discovery, put_emoji_discovery), 11 | 'keywords': (validate_keywords, put_keywords), 12 | 'primary_category': (validate_primary_category, put_primary_category), 13 | } 14 | -------------------------------------------------------------------------------- /hata/main/commands/default/scaffold/tests/test__build_identifying_layout_failed_error_message.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..helpers import _build_identifying_layout_failed_error_message 4 | 5 | 6 | def test__build_identifying_layout_failed_error_message(): 7 | """ 8 | Tests whether ``_build_identifying_layout_failed_error_message`` works as intended. 9 | """ 10 | output = _build_identifying_layout_failed_error_message('nue') 11 | vampytest.assert_instance(output, str) 12 | -------------------------------------------------------------------------------- /hata/discord/application/eula/tests/test__put_content.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_content 4 | 5 | 6 | def test__put_content(): 7 | """ 8 | Tests whether ``put_content`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {'content': ''}), 12 | ('a', False, {'content': 'a'}), 13 | ): 14 | data = put_content(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_field/tests/test__parse_inline.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_inline 4 | 5 | 6 | def test__parse_inline(): 7 | """ 8 | Tests whether ``parse_inline`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'inline': False}, False), 13 | ({'inline': True}, True), 14 | ): 15 | output = parse_inline(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/embed/embed_field/tests/test__parse_value.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_value 4 | 5 | 6 | def test__parse_value(): 7 | """ 8 | Tests whether ``parse_value`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({'value': None}, None), 12 | ({'value': ''}, None), 13 | ({'value': 'a'}, 'a'), 14 | ): 15 | output = parse_value(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/message/message/tests/test__parse_pinned.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_pinned 4 | 5 | 6 | def test__parse_pinned(): 7 | """ 8 | Tests whether ``parse_pinned`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'pinned': False}, False), 13 | ({'pinned': True}, True), 14 | ): 15 | output = parse_pinned(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_party/tests/test__parse_size_and_max.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_size_and_max 4 | 5 | 6 | def test__parse_size_and_max(): 7 | """ 8 | Tests whether ``parse_size_and_max`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, (0, 0)), 12 | ({'size': [10, 20]}, [10, 20]), 13 | ): 14 | output = parse_size_and_max(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_event/tests/test__put_token.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_token 4 | 5 | 6 | def test__put_token(): 7 | """ 8 | Tests whether ``put_token`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | ('', False, {'token': ''}), 12 | ('a', False, {'token': 'a'}), 13 | ): 14 | data = put_token(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/message/message_role_subscription/tests/test__parse_tier_name.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_tier_name 4 | 5 | 6 | def test__parse_tier_name(): 7 | """ 8 | Tests whether ``parse_tier_name`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({'tier_name': ''}, ''), 12 | ({'tier_name': 'a'}, 'a'), 13 | ): 14 | output = parse_tier_name(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/role/role/tests/test__parse_separated.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_separated 4 | 5 | 6 | def test__parse_separated(): 7 | """ 8 | Tests whether ``parse_separated`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'hoist': False}, False), 13 | ({'hoist': True}, True), 14 | ): 15 | output = parse_separated(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/activity/activity_secrets/tests/test__put_spectate.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_spectate 4 | 5 | 6 | def test__put_spectate(): 7 | """ 8 | Tests whether ``put_spectate`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {}), 12 | ('a', False, {'spectate': 'a'}), 13 | ): 14 | data = put_spectate(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/integration/integration_metadata/tests/test__parse_role_id.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_role_id 4 | 5 | 6 | def test__parse_role_id(): 7 | """ 8 | Tests whether ``parse_role_id`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'role_id': None}, 0), 13 | ({'role_id': '1'}, 1), 14 | ): 15 | output = parse_role_id(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/message/message/tests/test__put_tts.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_tts 4 | 5 | 6 | def test__put_tts(): 7 | """ 8 | Tests whether ``put_tts`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (False, False, {}), 12 | (False, True, {'tts': False}), 13 | (True, False, {'tts': True}), 14 | ): 15 | data = put_tts(input_value, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/message/message_role_subscription/tests/test__put_total_months.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_total_months 4 | 5 | 6 | def test__put_total_months(): 7 | """ 8 | Tests whether ``put_total_months`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (1, False, {'total_months_subscribed': 1}), 12 | ): 13 | data = put_total_months(input_value, {}, defaults) 14 | vampytest.assert_eq(data, expected_output) 15 | -------------------------------------------------------------------------------- /hata/discord/oauth2/connection/tests/test__parse_revoked.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_revoked 4 | 5 | 6 | def test__parse_revoked(): 7 | """ 8 | Tests whether ``parse_revoked`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'revoked': False}, False), 13 | ({'revoked': True}, True), 14 | ): 15 | output = parse_revoked(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/role/role_manager_metadata/tests/test__parse_purchasable.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_purchasable 4 | 5 | 6 | def test__parse_purchasable(): 7 | """ 8 | Tests whether ``parse_purchasable`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'available_for_purchase': None}, True), 13 | ): 14 | output = parse_purchasable(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/tests/test__unix_time_to_datetime.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime as DateTime, timezone as TimeZone 2 | 3 | import vampytest 4 | 5 | from .. import unix_time_to_datetime 6 | 7 | 8 | def test__unix_time_to_datetime__0(): 9 | """ 10 | Issue: `unix_time_to_datetime` returned bad value. 11 | """ 12 | unix_time = 1464100062 13 | date_time = DateTime(2016, 5, 24, 14, 27, 42, tzinfo = TimeZone.utc) 14 | 15 | vampytest.assert_eq(unix_time_to_datetime(unix_time), date_time) 16 | -------------------------------------------------------------------------------- /hata/discord/user/guild_profile/tests/test__parse_pending.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_pending 4 | 5 | 6 | def test__parse_pending(): 7 | """ 8 | Tests whether ``parse_pending`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'pending': False}, False), 13 | ({'pending': True}, True), 14 | ): 15 | output = parse_pending(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__put_locale.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ....localization import Locale 4 | 5 | from ..fields import put_locale 6 | 7 | 8 | def test__put_locale(): 9 | """ 10 | Tests whether ``put_locale`` is working as intended. 11 | """ 12 | for input_, defaults, expected_output in ( 13 | (Locale.czech, False, {'locale': Locale.czech.value}), 14 | ): 15 | data = put_locale(input_, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/application/application/tests/test__parse_overlay.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_overlay 4 | 5 | 6 | def test__parse_overlay(): 7 | """ 8 | Tests whether ``parse_overlay`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'overlay': False}, False), 13 | ({'overlay': True}, True), 14 | ): 15 | output = parse_overlay(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/application/application/tests/test__put_hook.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_hook 4 | 5 | 6 | def test__put_hook(): 7 | """ 8 | Tests whether ``put_hook`` works as intended. 9 | """ 10 | for input_, defaults, expected_output in ( 11 | (False, False, {}), 12 | (False, True, {'hook': False}), 13 | (True, False, {'hook': True}), 14 | ): 15 | data = put_hook(input_, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/application/team/tests/test__put_owner_id.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_owner_id 4 | 5 | 6 | def test__put_owner_id(): 7 | """ 8 | Tests whether ``put_owner_id`` works as intended. 9 | """ 10 | owner_id = 202211230018 11 | 12 | for input_, defaults, expected_output in ( 13 | (owner_id, False, {'owner_user_id': str(owner_id)}), 14 | ): 15 | data = put_owner_id(input_, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/application/third_party_sku/tests/test__parse_sku.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_sku 4 | 5 | 6 | def test__parse_sku(): 7 | """ 8 | Tests whether ``parse_sku`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, ''), 12 | ({'sku': None}, ''), 13 | ({'sku': ''}, ''), 14 | ({'sku': 'a'}, 'a'), 15 | ): 16 | output = parse_sku(input_data) 17 | vampytest.assert_eq(output, expected_output) 18 | -------------------------------------------------------------------------------- /hata/discord/auto_moderation/execution_event/tests/test__put_content.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_content 4 | 5 | 6 | def test__put_content(): 7 | """ 8 | Tests whether ``put_content`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (None, False, {'content': ''}), 12 | ('a', False, {'content': 'a'}), 13 | ): 14 | data = put_content(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/channel/channel_metadata/tests/test__parse_parent_id.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_parent_id 4 | 5 | 6 | def test__parse_parent_id(): 7 | """ 8 | Tests whether ``parse_parent_id`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 0), 12 | ({'parent_id': None}, 0), 13 | ({'parent_id': '1'}, 1), 14 | ): 15 | output = parse_parent_id(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/gateway/tests/test__DiscordGatewayVoiceBase.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..voice_base import DiscordGatewayVoiceBase 4 | 5 | # no tests yet 6 | 7 | 8 | async def test__DiscordGatewayVoiceBase__set_speaking(): 9 | """ 10 | Tests whether ``DiscordGatewayVoiceBase.set_speaking`` works as intended. 11 | 12 | This function is a coroutine. 13 | """ 14 | speaking = True 15 | 16 | gateway = DiscordGatewayVoiceBase() 17 | 18 | await gateway.set_speaking(speaking) 19 | -------------------------------------------------------------------------------- /hata/discord/message/message_role_subscription/tests/test__parse_total_months.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_total_months 4 | 5 | 6 | def test__parse_total_months(): 7 | """ 8 | Tests whether ``parse_total_months`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, 1), 12 | ({'total_months_subscribed': 2}, 2), 13 | ): 14 | output = parse_total_months(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_access/tests/test__parse_access_token.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_access_token 4 | 5 | 6 | def test__parse_access_token(): 7 | """ 8 | Tests whether ``parse_access_token`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({'access_token': ''}, ''), 12 | ({'access_token': 'a'}, 'a'), 13 | ): 14 | output = parse_access_token(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__put_bot.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_bot 4 | 5 | 6 | def test__put_bot(): 7 | """ 8 | Tests whether ``put_bot`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (False, False, {'bot': False}), 12 | (False, True, {'bot': False}), 13 | (True, False, {'bot': True}), 14 | ): 15 | data = put_bot(input_value, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/user/user/tests/test__put_webhook_name.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_webhook_name 4 | 5 | 6 | def test__put_webhook_name(): 7 | """ 8 | Tests whether ``put_webhook_name`` is working as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | ('', False, {'name': ''}), 12 | ('a', False, {'name': 'a'}), 13 | ): 14 | data = put_webhook_name(input_value, {}, defaults) 15 | vampytest.assert_eq(data, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/application/application/tests/test__put_tags.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_tags 4 | 5 | 6 | def test__put_tags(): 7 | """ 8 | Tests whether ``put_tags`` is working as intended. 9 | """ 10 | for input_, defaults, expected_output in ( 11 | (None, False, {}), 12 | (None, True, {'tags': []}), 13 | (('a', ), False, {'tags': ['a']}), 14 | ): 15 | data = put_tags(input_, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/component/string_select_option/tests/test__parse_default.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_default 4 | 5 | 6 | def test__parse_default(): 7 | """ 8 | Tests whether ``parse_default`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'default': False}, False), 13 | ({'default': True}, True), 14 | ): 15 | output = parse_default(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/guild/guild/tests/test__parse_available.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_available 4 | 5 | 6 | def test__parse_available(): 7 | """ 8 | Tests whether ``parse_available`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, True), 12 | ({'unavailable': False}, True), 13 | ({'unavailable': True}, False), 14 | ): 15 | output = parse_available(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/guild/guild/tests/test__put_large.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import put_large 4 | 5 | 6 | def test__put_large(): 7 | """ 8 | Tests whether ``put_large`` works as intended. 9 | """ 10 | for input_value, defaults, expected_output in ( 11 | (False, False, {}), 12 | (False, True, {'large': False}), 13 | (True, False, {'large': True}), 14 | ): 15 | data = put_large(input_value, {}, defaults) 16 | vampytest.assert_eq(data, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/interaction/interaction_option/tests/test__parse_focused.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_focused 4 | 5 | 6 | def test__parse_focused(): 7 | """ 8 | Tests whether ``parse_focused`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'focused': False}, False), 13 | ({'focused': True}, True), 14 | ): 15 | output = parse_focused(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/message/poll_change/fields.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...field_validators import nullable_entity_validator_factory 4 | from ...poll import Poll 5 | 6 | from ..poll_update import PollUpdate 7 | 8 | 9 | # added 10 | 11 | validate_added = nullable_entity_validator_factory('added', Poll) 12 | 13 | 14 | # updated 15 | 16 | validate_updated = nullable_entity_validator_factory('updated', PollUpdate) 17 | 18 | 19 | # removed 20 | 21 | validate_removed = nullable_entity_validator_factory('removed', Poll) 22 | -------------------------------------------------------------------------------- /hata/discord/oauth2/connection/tests/test__parse_verified_link.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_verified 4 | 5 | 6 | def test__parse_verified(): 7 | """ 8 | Tests whether ``parse_verified`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'verified': False}, False), 13 | ({'verified': True}, True), 14 | ): 15 | output = parse_verified(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/oauth2/oauth2_access/tests/test__parse_refresh_token.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_refresh_token 4 | 5 | 6 | def test__parse_refresh_token(): 7 | """ 8 | Tests whether ``parse_refresh_token`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({'refresh_token': ''}, ''), 12 | ({'refresh_token': 'a'}, 'a'), 13 | ): 14 | output = parse_refresh_token(input_data) 15 | vampytest.assert_eq(output, expected_output) 16 | -------------------------------------------------------------------------------- /hata/discord/poll/poll_question/fields.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | 3 | from ...field_parsers import nullable_string_parser_factory 4 | from ...field_putters import nullable_string_putter_factory 5 | from ...field_validators import nullable_string_validator_factory 6 | 7 | from .constants import TEXT_LENGTH_MAX 8 | 9 | 10 | # text 11 | 12 | parse_text = nullable_string_parser_factory('text') 13 | put_text = nullable_string_putter_factory('text') 14 | validate_text = nullable_string_validator_factory('text', 0, TEXT_LENGTH_MAX) 15 | -------------------------------------------------------------------------------- /hata/discord/stage/stage/tests/test__parse_topic.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_topic 4 | 5 | 6 | def test__parse_topic(): 7 | """ 8 | Tests whether ``parse_topic`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, None), 12 | ({'topic': None}, None), 13 | ({'topic': ''}, None), 14 | ({'topic': 'a'}, 'a'), 15 | ): 16 | output = parse_topic(input_data) 17 | vampytest.assert_eq(output, expected_output) 18 | -------------------------------------------------------------------------------- /hata/discord/sticker/sticker/tests/test__parse_available.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_available 4 | 5 | 6 | def test__parse_available(): 7 | """ 8 | Tests whether ``parse_available`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, True), 12 | ({'available': False}, False), 13 | ({'available': True}, True), 14 | ): 15 | output = parse_available(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | -------------------------------------------------------------------------------- /hata/discord/user/guild_profile/tests/test__parse_nick.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_nick 4 | 5 | 6 | def test__parse_nick(): 7 | """ 8 | Tests whether ``parse_nick`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, None), 12 | ({'nick': None}, None), 13 | ({'nick': ''}, None), 14 | ({'nick': 'a'}, 'a'), 15 | ): 16 | output = parse_nick(input_data) 17 | vampytest.assert_eq(output, expected_output) 18 | -------------------------------------------------------------------------------- /hata/discord/user/voice_state/tests/test__parse_self_deaf.py: -------------------------------------------------------------------------------- 1 | import vampytest 2 | 3 | from ..fields import parse_self_deaf 4 | 5 | 6 | def test__parse_self_deaf(): 7 | """ 8 | Tests whether ``parse_self_deaf`` works as intended. 9 | """ 10 | for input_data, expected_output in ( 11 | ({}, False), 12 | ({'self_deaf': False}, False), 13 | ({'self_deaf': True}, True), 14 | ): 15 | output = parse_self_deaf(input_data) 16 | vampytest.assert_eq(output, expected_output) 17 | --------------------------------------------------------------------------------