REST implementation

class quant.api.core.RESTAware

Bases: ABC

abstract async add_guild_member_role(guild_id: SnowflakeT, user_id: SnowflakeT, role_id: SnowflakeT) None

Adds a role to a guild member.

Parameters

guild_id: SnowflakeT

user_id: SnowflakeT

role_id: SnowflakeT

abstract async bulk_overwrite_global_app_commands(application_id: SnowflakeT, commands: List[ApplicationCommandObject] | None = None) List[ApplicationCommandObject]

Bulk overwrites global application commands.

Parameters

application_id: SnowflakeT

commands: List[ApplicationCommandObject]

abstract async bulk_overwrite_guild_app_commands(application_id: SnowflakeT, guild_id: SnowflakeT, commands: List[ApplicationCommandObject] | None = None) List[ApplicationCommandObject]

Bulk overwrites guild application commands.

Parameters

application_id: SnowflakeT

guild_id: SnowflakeT

commands: List[ApplicationCommandObject]

abstract async create_application_command(application_id: int, name: str, description: str, name_localizations: Dict[DiscordLocale, str] | None = None, description_localizations: Dict[DiscordLocale, str] | None = None, app_cmd_type: ApplicationCommandTypes = ApplicationCommandTypes.CHAT_INPUT, default_permissions: bool = False, dm_permissions: bool = False, default_member_permissions: str = None, options: List[ApplicationCommandOption] = None, nsfw: bool = False, integration_types: List[IntegrationTypes] = None, contexts: List[ApplicationCommandContexts] = None) ApplicationCommandObject

Creates a global application command.

Parameters

application_id: int

name: str

description: str

name_localizations: Dict[DiscordLocale, str] | None

description_localizations: Dict[DiscordLocale, str] | None

app_cmd_type: ApplicationCommandTypes

default_permissions: bool

dm_permissions: bool

default_member_permissions: str

options: List[ApplicationCommandOption]

nsfw: bool

integration_types: List[IntegrationTypes]

contexts: List[ApplicationCommandContexts]

abstract async create_followup_message(application_id: int, interaction_token: str, content: str | None = None, tts: bool = False, embed: Embed | None = None, embeds: List[Embed] | None = None, allowed_mentions: AllowedMentions | None = None, components: List[Any] | None = None, payload_json: str | None = None, attachments: List[AttachmentT] | None = None, flags: int | None = None, thread_name: str | None = None) None

Creates a follow-up message for an interaction.

Parameters

application_id: int

interaction_token: str

content: str

tts: bool

embed: Embed

embeds: List[Embed]

allowed_mentions: AllowedMentions

components: List[Any]

payload_json: str

attachments: List[AttachmentT] | None

flags: int

thread_name: str

abstract async create_guild(name: str, region: str | None = None, icon: Any | None = None, verification_level: int | None = None, default_message_notifications: int | None = None, explicit_content_filter: int | None = None, roles: List[Any] | None = None, channels: List[Any] | None = None, afk_channel_id: int | None = None, afk_timeout: int | None = None, system_channel_id: int | None = None, system_channel_flags: int = 0) Guild

Creates a guild.

Parameters

name: str

region: str

icon: Any

verification_level: int | None

default_message_notifications: int | None

explicit_content_filter: int | None

roles: List

channels: List

afk_channel_id: int | None

afk_timeout: int | None

system_channel_id: int | None

system_channel_flags: int

abstract async create_guild_application_command(application_id: int, name: str, description: str, guild_id: SnowflakeT, name_localizations: Dict[DiscordLocale, str] | None = None, description_localizations: Dict[DiscordLocale, str] | None = None, app_cmd_type: ApplicationCommandTypes = ApplicationCommandTypes.CHAT_INPUT, default_permissions: bool = False, dm_permissions: bool = False, default_member_permissions: str = None, options: List[ApplicationCommandOption] = None, nsfw: bool = False, integration_types: List[IntegrationTypes] = None, contexts: List[ApplicationCommandContexts] = None) ApplicationCommandObject

Creates a guild application command.

Parameters

application_id: int

name: str

description: str

guild_id: SnowflakeT

name_localizations: Dict[DiscordLocale, str] | None

description_localizations: Dict[DiscordLocale, str] | None

app_cmd_type: ApplicationCommandTypes

default_permissions: bool

dm_permissions: bool

default_member_permissions: str

options: List[ApplicationCommandOption]

nsfw: bool

integration_types: List[IntegrationTypes]

contexts: List[ApplicationCommandContexts]

abstract async create_guild_ban(guild_id: SnowflakeT, member_id: SnowflakeT, reason: str, delete_message_days: int, delete_message_seconds: int) None

Bans a member from a guild.

Parameters

guild_id: SnowflakeT

member_id: SnowflakeT

reason: str

delete_message_days: int

delete_message_seconds: int

abstract async create_interaction_response(interaction_type: InteractionCallbackType, interaction_data: InteractionCallbackData | ModalInteractionCallbackData | None, interaction_id: int, interaction_token: str) None

Creates an interaction response.

Parameters

interaction_type: InteractionCallbackType

interaction_data: InteractionCallbackData | ModalInteractionCallbackData | None

interaction_id: int

interaction_token: str

abstract async create_message(channel_id: int, content: str | None = None, nonce: str | int | None = None, tts: bool = False, embed: Embed | None = None, embeds: List[Embed] | None = None, allowed_mentions: AllowedMentions | None = None, message_reference: MessageReference = None, components: ActionRow | None = None, sticker_ids: List = None, payload_json: str | None = None, attachments: List[AttachmentT] | None = None, flags: int | None = None, poll: Poll | None = None) Message

Creates a message.

Parameters

channel_id: int

content: str

nonce: str | int

tts: bool

embed: Embed

embeds: List[Embed] | None

allowed_mentions: AllowedMentions | None

message_reference: MessageReference

components: ActionRow | None

sticker_ids: List

payload_json: str | None

attachments: List[AttachmentT] | None

flags: int | None

poll: Poll | None

abstract async create_reaction(emoji: str, guild_id: int | None = None, channel_id: int | None = None, message_id: int | None = None, reason: str | None = None) Emoji | str

Creates a reaction.

Parameters

emoji: str

guild_id: int

channel_id: int

message_id: int

reason: str

abstract async create_webhook(channel_id: int, name: str, avatar: str | None = None, reason: str | None = None) Webhook

Creates a webhook.

Parameters

channel_id: int

name: str

avatar: str

reason: str

abstract async delete_all_reactions(channel_id: Snowflake, message_id: Snowflake) None

Deletes all reactions from a message.

Parameters

channel_id: Snowflake

message_id: Snowflake

abstract async delete_all_reactions_for_emoji(guild_id: SnowflakeT, channel_id: SnowflakeT, message_id: SnowflakeT, emoji: str | Snowflake | Emoji) None

Deletes all reactions for a specific emoji from a message.

Parameters

guild_id: SnowflakeT

channel_id: SnowflakeT

message_id: SnowflakeT

emoji: str | Snowflake | Emoji

abstract async delete_global_application_command(application_id: int, command_id: SnowflakeT) None

Deletes a global application command.

application_id: int

command_id: SnowflakeT

abstract async delete_guild(guild_id: int) None

Deletes a guild.

Parameters

guild_id: int

abstract async delete_guild_application_command(application_id: int, guild_id: SnowflakeT, command_id: SnowflakeT) None

Deletes a guild application command.

Parameters

application_id: int

guild_id: SnowflakeT

command_id: SnowflakeT

abstract async delete_invite(invite_code: str, reason: str | None = None) Invite

Deletes an invite.

Parameters

invite_code: str

reason: str

abstract async delete_message(channel_id: int, message_id: int, reason: str | None = None) None

Deletes a message.

Parameters

channel_id: int

message_id: int

reason: str

abstract async edit_message(channel_id: SnowflakeT, message_id: SnowflakeT, content: str | None = None, embed: Embed | None = None, embeds: List[Embed] | None = None, flags: int | None = None, allowed_mentions: AllowedMentions | None = None, components: ActionRow | None = None) Message

Edits a message.

Parameters

channel_id: SnowflakeT

message_id: SnowflakeT

content: str

embed: Embed

embeds: List[Embed] | None

flags: int | None

allowed_mentions: AllowedMentions | None

components: ActionRow | None

abstract async edit_original_interaction_response(application_id: SnowflakeT, interaction_token: str, content: str | None = None, embed: Embed | None = None, embeds: List[Embed] | None = None, allowed_mentions: AllowedMentions | None = None, components: ActionRow | None = None, payload_json: str | None = None, attachments: List[AttachmentT] | None = None, thread_id: SnowflakeT = None) Message

Edits the original interaction response.

Parameters

application_id: SnowflakeT

interaction_token: str

content: str

embed: Embed

embeds: List[Embed]

allowed_mentions: AllowedMentions

components: ActionRow

payload_json: str

attachments: List[AttachmentT]

thread_id: SnowflakeT

abstract async end_poll_immediately(channel_id: SnowflakeT, message_id: SnowflakeT) Message

[coro]

Ends poll

Parameters

channel_id: SnowflakeT

message_id: SnowflakeT

abstract async execute_webhook(webhook_url: str, content: str | None = None, username: str | None = None, avatar_url: str | None = None, tts: bool = False, embed: Embed | None = None, embeds: List[Embed] | None = None, allowed_mentions: AllowedMentions | None = None, components: List[Any] | None = None, payload_json: str | None = None, attachments: List[AttachmentT] | None = None, flags: int | None = None, thread_name: str | None = None) None

Executes a webhook.

Parameters

webhook_url: str

content: str

username: str

avatar_url: str

tts: bool

embed: Embed

embeds: List[Embed]

allowed_mentions: AllowedMentions

components: List[Any]

payload_json: str

attachments: List[AttachmentT] | None

flags: int

thread_name: str

abstract async fetch_emoji(guild_id: int, emoji: str) Emoji

Fetches an emoji.

Parameters

guild_id: int

emoji: str

abstract async fetch_global_application_commands(application_id: int, with_localizations: bool = False) List[ApplicationCommandObject]

Fetches global application commands.

Parameters

application_id: int

with_localizations: bool

abstract async fetch_guild(guild_id: int, with_counts: bool = False) Guild

Fetches a guild.

Parameters

guild_id: int

with_counts: bool

abstract async fetch_guild_application_commands(application_id: int, guild_id: int, with_localizations: bool = False) List[ApplicationCommandObject]

Fetches guild application commands.

Parameters

application_id: int

guild_id: int

with_localizations: bool

abstract async fetch_guild_invites(guild_id: Snowflake) List[Invite]

Fetches invites for a guild.

Parameters

guild_id: Snowflake

abstract async fetch_guild_member(guild_id: SnowflakeT, user_id: SnowflakeT) GuildMember

Fetches a guild member.

Parameters

guild_id: SnowflakeT

user_id: SnowflakeT

abstract async fetch_guild_members(guild_id: SnowflakeT, limit: int = 1, after: Snowflake = 0) List[GuildMember]

Fetches guild members.

Parameters

guild_id: SnowflakeT

limit: int

after: Snowflake

abstract async fetch_guild_roles(guild_id: SnowflakeT) List[GuildRole]

Fetches guild roles.

Parameters

guild_id: SnowflakeT

abstract async fetch_initial_interaction_response(application_id: int, interaction_token: str) Message

Fetches the initial interaction response.

Parameters

application_id: int

interaction_token: str

abstract async fetch_invite(invite_code: str, with_counts: bool = False, with_expiration: bool = False, guild_scheduled_event_id: Snowflake | None = None) Invite

Fetches an invite.

Parameters

invite_code: str

with_counts: bool

with_expiration: bool

guild_scheduled_event_id: Snowflake

abstract async fetch_message(channel_id: int, message_id: int) Message

Fetches a message.

Parameters

channel_id: int

message_id: int

abstract async fetch_user(user_id: SnowflakeT) User

Fetches a user.

Parameters

user_id: SnowflakeT

abstract async get_gateway() GatewayInfo

Gets the gateway information.

abstract async get_poll_answers(channel_id: SnowflakeT, message_id: SnowflakeT, answer_id: int, after: Snowflake | None = 0, limit: int = 100) List[User]

Gets poll answers.

Parameters

channel_id: SnowflakeT

message_id: SnowflakeT

answer_id: int

after: Snowflake

limit: int

abstract async modify_guild_member(user_id: SnowflakeT, guild_id: SnowflakeT, nick: str | None = None, roles: List[SnowflakeT] | None = None, mute: bool | None = None, deaf: bool | None = None, move_channel_id: SnowflakeT | None = None, communication_disabled_until: datetime | None = None, flags: int | None = None, reason: str | None = None) GuildMember

Modifies a guild member.

Parameters

user_id: SnowflakeT

guild_id: SnowflakeT

nick: str

roles: List[SnowflakeT]

mute: bool

deaf: bool

move_channel_id: SnowflakeT

communication_disabled_until: datetime.datetime

flags: int

reason: str

abstract async remove_guild_member(user_id: SnowflakeT, guild_id: SnowflakeT, reason: str | None = None) None

Removes a member from a guild.

Parameters

user_id: SnowflakeT

guild_id: SnowflakeT

reason: str | None