Skip to content

hikari.applications#

Application and entities related to discord's OAuth2 flow.

Application #

Bases: PartialApplication

Represents the information of an Oauth2 Application.

app class-attribute instance-attribute #

app: RESTAware = field(
    repr=False, eq=False, hash=False, metadata={SKIP_DEEP_COPY: True}
)

Client application that models may use for procedures.

approximate_guild_count class-attribute instance-attribute #

approximate_guild_count: int = field(eq=False, hash=False, repr=False)

The approximate number of guilds this application is part of.

cover_image_hash class-attribute instance-attribute #

cover_image_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The CDN's hash of this application's default rich presence invite cover image.

cover_image_url property #

cover_image_url: Optional[URL]

Rich presence cover image URL for this application, if set.

created_at property #

created_at: datetime

When the object was created.

custom_install_url class-attribute instance-attribute #

custom_install_url: Optional[str] = field(eq=False, hash=False, repr=False)

The URL of this application's custom authorization link.

description class-attribute instance-attribute #

description: Optional[str] = field(eq=False, hash=False, repr=False)

The description of this application, if any.

flags class-attribute instance-attribute #

flags: ApplicationFlags = field(eq=False, hash=False, repr=False)

The flags for this application.

icon_hash class-attribute instance-attribute #

icon_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The CDN hash of this application's icon, if set.

icon_url property #

icon_url: Optional[URL]

Team icon URL, if there is one.

id class-attribute instance-attribute #

id: Snowflake = field(hash=True, repr=True)

The ID of this entity.

install_parameters class-attribute instance-attribute #

install_parameters: Optional[ApplicationInstallParameters] = field(
    eq=False, hash=False, repr=False
)

Settings for the application's default in-app authorization link, if enabled.

is_bot_code_grant_required class-attribute instance-attribute #

is_bot_code_grant_required: bool = field(eq=False, hash=False, repr=False)

True if this application's bot is requiring code grant for invites.

is_bot_public class-attribute instance-attribute #

is_bot_public: bool = field(eq=False, hash=False, repr=True)

True if the bot associated with this application is public.

name class-attribute instance-attribute #

name: str = field(eq=False, hash=False, repr=True)

The name of this application.

owner class-attribute instance-attribute #

owner: User = field(eq=False, hash=False, repr=True)

The application's owner.

privacy_policy_url class-attribute instance-attribute #

privacy_policy_url: Optional[str] = field(eq=False, hash=False, repr=False)

The URL of this application's privacy policy.

public_key class-attribute instance-attribute #

public_key: bytes = field(eq=False, hash=False, repr=False)

The key used for verifying interaction and GameSDK payload signatures.

role_connections_verification_url class-attribute instance-attribute #

role_connections_verification_url: Optional[str] = field(
    eq=False, hash=False, repr=False
)

The URL of this application's role connection verification entry point.

rpc_origins class-attribute instance-attribute #

rpc_origins: Optional[Sequence[str]] = field(eq=False, hash=False, repr=False)

A collection of this application's RPC origin URLs, if RPC is enabled.

tags class-attribute instance-attribute #

tags: Sequence[str] = field(eq=False, hash=False, repr=False)

A sequence of tags describing the content and functionality of the application.

team class-attribute instance-attribute #

team: Optional[Team] = field(eq=False, hash=False, repr=False)

The team this application belongs to.

If the application is not part of a team, this will be None.

terms_of_service_url class-attribute instance-attribute #

terms_of_service_url: Optional[str] = field(eq=False, hash=False, repr=False)

The URL of this application's terms of service.

make_cover_image_url #

make_cover_image_url(*, ext: str = 'png', size: int = 4096) -> Optional[URL]

Generate the rich presence cover image URL for this application, if set.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg and webp.

TYPE: str DEFAULT: 'png'

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL, or None if no cover image exists.

RAISES DESCRIPTION
ValueError

If the size is not an integer power of 2 between 16 and 4096 (inclusive).

make_icon_url #

make_icon_url(*, ext: str = 'png', size: int = 4096) -> Optional[URL]

Generate the icon URL for this application.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg and webp.

TYPE: str DEFAULT: 'png'

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL, or None if no icon exists.

RAISES DESCRIPTION
ValueError

If the size is not an integer power of 2 between 16 and 4096 (inclusive).

ApplicationFlags #

Bases: Flag

The known application flag bits.

APPLICATION_COMMAND_BADGE class-attribute instance-attribute #

APPLICATION_COMMAND_BADGE = 1 << 23

Denotes that the application has at least one global application command.

EMBEDDED class-attribute instance-attribute #

EMBEDDED = 1 << 17

Denotes that the application has functionality that's specially embedded in Discord's client.

GUILD_MEMBERS_INTENT class-attribute instance-attribute #

GUILD_MEMBERS_INTENT = 1 << 15

Denotes that the application has the GUILD_MEMBERS intent enabled in it's dashboard.

GUILD_PRESENCES_INTENT class-attribute instance-attribute #

GUILD_PRESENCES_INTENT = 1 << 13

Denotes that the application has the GUILD_PRESENCES intent enabled in it's dashboard.

MESSAGE_CONTENT_INTENT class-attribute instance-attribute #

MESSAGE_CONTENT_INTENT = 1 << 18

Denotes that the application has message content intent enabled in it's dashboard.

MESSAGE_CONTENT_INTENT_LIMITED class-attribute instance-attribute #

MESSAGE_CONTENT_INTENT_LIMITED = 1 << 19

Denotes that the application has message content access while pending verification.

VERIFICATION_PENDING_GUILD_LIMIT class-attribute instance-attribute #

VERIFICATION_PENDING_GUILD_LIMIT = 1 << 16

Denotes that the application's verification is pending.

VERIFIED_FOR_GUILD_MEMBERS_INTENT class-attribute instance-attribute #

VERIFIED_FOR_GUILD_MEMBERS_INTENT = 1 << 14

Denotes that a verified application can use the GUILD_MEMBERS intent.

VERIFIED_FOR_GUILD_PRESENCES class-attribute instance-attribute #

VERIFIED_FOR_GUILD_PRESENCES = 1 << 12

Denotes that a verified application can use the GUILD_PRESENCES intent.

name property #

name: str

Return the name of the flag combination as a str.

value property #

value: int

Return the int value of the flag.

all #

all(*flags: Self) -> bool

Check if all of the given flags are part of this value.

RETURNS DESCRIPTION
bool

True if any of the given flags are part of this value. Otherwise, return False.

any #

any(*flags: Self) -> bool

Check if any of the given flags are part of this value.

RETURNS DESCRIPTION
bool

True if any of the given flags are part of this value. Otherwise, return False.

difference #

difference(other: Union[int, Self]) -> Self

Perform a set difference with the other set.

This will return all flags in this set that are not in the other value.

Equivalent to using the subtraction - operator.

intersection #

intersection(other: Union[int, Self]) -> Self

Return a combination of flags that are set for both given values.

Equivalent to using the "AND" & operator.

invert #

invert() -> Self

Return a set of all flags not in the current set.

is_disjoint #

is_disjoint(other: Union[int, Self]) -> bool

Return whether two sets have a intersection or not.

If the two sets have an intersection, then this returns False. If no common flag values exist between them, then this returns True.

is_subset #

is_subset(other: Union[int, Self]) -> bool

Return whether another set contains this set or not.

Equivalent to using the "in" operator.

is_superset #

is_superset(other: Union[int, Self]) -> bool

Return whether this set contains another set or not.

none #

none(*flags: Self) -> bool

Check if none of the given flags are part of this value.

Note

This is essentially the opposite of hikari.internal.enums.Flag.any.

RETURNS DESCRIPTION
bool

True if none of the given flags are part of this value. Otherwise, return False.

split #

split() -> Sequence[Self]

Return a list of all defined atomic values for this flag.

Any unrecognised bits will be omitted for brevity.

The result will be a name-sorted typing.Sequence of each member

symmetric_difference #

symmetric_difference(other: Union[int, Self]) -> Self

Return a set with the symmetric differences of two flag sets.

Equivalent to using the "XOR" ^ operator.

For a ^ b, this can be considered the same as (a - b) | (b - a).

union #

union(other: Union[int, Self]) -> Self

Return a combination of all flags in this set and the other set.

Equivalent to using the "OR" ~ operator.

ApplicationInstallParameters #

Represents the application install parameters.

permissions class-attribute instance-attribute #

permissions: Permissions = field(eq=True, repr=False, hash=True)

The permissions to add the bot to guild with.

scopes class-attribute instance-attribute #

scopes: Sequence[str] = field(eq=True, repr=False, hash=True)

The scopes to authorize the bot for.

ApplicationRoleConnectionMetadataRecord #

Represents a role connection metadata record.

description class-attribute instance-attribute #

description: str = field(eq=False, hash=False, repr=True)

The metadata's field description.

description_localizations class-attribute instance-attribute #

description_localizations: Mapping[Union[Locale, str], str] = field(
    eq=False, hash=False, repr=False, factory=dict
)

A mapping of description localizations for this metadata field.

key class-attribute instance-attribute #

key: str = field(eq=True, hash=True, repr=False)

Dictionary key for the metadata field.

name class-attribute instance-attribute #

name: str = field(eq=False, hash=False, repr=True)

The metadata's field name.

name_localizations class-attribute instance-attribute #

name_localizations: Mapping[Union[Locale, str], str] = field(
    eq=False, hash=False, repr=False, factory=dict
)

A mapping of name localizations for this metadata field.

type class-attribute instance-attribute #

type: Union[ApplicationRoleConnectionMetadataRecordType, int] = field(
    eq=False, hash=False, repr=False
)

The type of metadata value record.

ApplicationRoleConnectionMetadataRecordType #

Bases: int, Enum

Represents possible application role connection metadata record types.

BOOLEAN_EQUAL class-attribute instance-attribute #

BOOLEAN_EQUAL = 7

Boolean Equal.

BOOLEAN_NOT_EQUAL class-attribute instance-attribute #

BOOLEAN_NOT_EQUAL = 8

Boolean Not Equal.

DATETIME_GREATER_THAN_OR_EQUAL class-attribute instance-attribute #

DATETIME_GREATER_THAN_OR_EQUAL = 6

Datetime Greater Than Or Equal.

DATETIME_LESS_THAN_OR_EQUAL class-attribute instance-attribute #

DATETIME_LESS_THAN_OR_EQUAL = 5

Datetime Less Than Or Equal.

INTEGER_EQUAL class-attribute instance-attribute #

INTEGER_EQUAL = 3

Integer Equal.

INTEGER_GREATER_THAN_OR_EQUAL class-attribute instance-attribute #

INTEGER_GREATER_THAN_OR_EQUAL = 2

Integer Greater Than Or Equal.

INTEGER_LESS_THAN_OR_EQUAL class-attribute instance-attribute #

INTEGER_LESS_THAN_OR_EQUAL = 1

Integer Less Than Or Equal.

INTEGER_NOT_EQUAL class-attribute instance-attribute #

INTEGER_NOT_EQUAL = 4

Integer Not Equal.

name property #

name: str

Return the name of the enum member as a str.

value property #

value

Return the value of the enum member.

AuthorizationApplication #

Bases: PartialApplication

The application model found attached to hikari.applications.AuthorizationInformation.

created_at property #

created_at: datetime

When the object was created.

description class-attribute instance-attribute #

description: Optional[str] = field(eq=False, hash=False, repr=False)

The description of this application, if any.

icon_hash class-attribute instance-attribute #

icon_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The CDN hash of this application's icon, if set.

icon_url property #

icon_url: Optional[URL]

Team icon URL, if there is one.

id class-attribute instance-attribute #

id: Snowflake = field(hash=True, repr=True)

The ID of this entity.

is_bot_code_grant_required class-attribute instance-attribute #

is_bot_code_grant_required: Optional[bool] = field(
    eq=False, hash=False, repr=False
)

True if this application's bot is requiring code grant for invites.

Will be None if this application doesn't have a bot.

is_bot_public class-attribute instance-attribute #

is_bot_public: Optional[bool] = field(eq=False, hash=False, repr=True)

True if the bot associated with this application is public.

Will be None if this application doesn't have an associated bot.

name class-attribute instance-attribute #

name: str = field(eq=False, hash=False, repr=True)

The name of this application.

privacy_policy_url class-attribute instance-attribute #

privacy_policy_url: Optional[str] = field(eq=False, hash=False, repr=False)

The URL of this application's privacy policy.

public_key class-attribute instance-attribute #

public_key: bytes = field(eq=False, hash=False, repr=False)

The key used for verifying interaction and GameSDK payload signatures.

terms_of_service_url class-attribute instance-attribute #

terms_of_service_url: Optional[str] = field(eq=False, hash=False, repr=False)

The URL of this application's terms of service.

make_icon_url #

make_icon_url(*, ext: str = 'png', size: int = 4096) -> Optional[URL]

Generate the icon URL for this application.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg and webp.

TYPE: str DEFAULT: 'png'

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL, or None if no icon exists.

RAISES DESCRIPTION
ValueError

If the size is not an integer power of 2 between 16 and 4096 (inclusive).

AuthorizationInformation #

Model for the data returned by Get Current Authorization Information.

application class-attribute instance-attribute #

application: AuthorizationApplication = field(hash=False, repr=True)

The current application.

expires_at class-attribute instance-attribute #

expires_at: datetime = field(hash=False, repr=True)

When the access token this data was retrieved with expires.

scopes class-attribute instance-attribute #

scopes: Sequence[Union[OAuth2Scope, str]] = field(hash=False, repr=True)

A sequence of the scopes the current user has authorized the application for.

user class-attribute instance-attribute #

user: Optional[User] = field(hash=False, repr=True)

The user who has authorized this token.

This will only be included if the token is authorized for the hikari.applications.OAuth2Scope.IDENTIFY scope.

ConnectionVisibility #

Bases: int, Enum

Describes who can see a connection with a third party account.

EVERYONE class-attribute instance-attribute #

EVERYONE = 1

Everyone can see the connection.

NONE class-attribute instance-attribute #

NONE = 0

Implies that only you can see the corresponding connection.

name property #

name: str

Return the name of the enum member as a str.

value property #

value

Return the value of the enum member.

InviteApplication #

Bases: PartialApplication

Represents the information of an Invite Application.

app class-attribute instance-attribute #

app: RESTAware = field(
    repr=False, eq=False, hash=False, metadata={SKIP_DEEP_COPY: True}
)

Client application that models may use for procedures.

cover_image_hash class-attribute instance-attribute #

cover_image_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The CDN's hash of this application's default rich presence invite cover image.

cover_image_url property #

cover_image_url: Optional[URL]

Rich presence cover image URL for this application, if set.

created_at property #

created_at: datetime

When the object was created.

description class-attribute instance-attribute #

description: Optional[str] = field(eq=False, hash=False, repr=False)

The description of this application, if any.

icon_hash class-attribute instance-attribute #

icon_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The CDN hash of this application's icon, if set.

icon_url property #

icon_url: Optional[URL]

Team icon URL, if there is one.

id class-attribute instance-attribute #

id: Snowflake = field(hash=True, repr=True)

The ID of this entity.

name class-attribute instance-attribute #

name: str = field(eq=False, hash=False, repr=True)

The name of this application.

public_key class-attribute instance-attribute #

public_key: bytes = field(eq=False, hash=False, repr=False)

The key used for verifying interaction and GameSDK payload signatures.

make_cover_image_url #

make_cover_image_url(*, ext: str = 'png', size: int = 4096) -> Optional[URL]

Generate the rich presence cover image URL for this application, if set.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg and webp.

TYPE: str DEFAULT: 'png'

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL, or None if no cover image exists.

RAISES DESCRIPTION
ValueError

If the size is not an integer power of 2 between 16 and 4096 (inclusive).

make_icon_url #

make_icon_url(*, ext: str = 'png', size: int = 4096) -> Optional[URL]

Generate the icon URL for this application.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg and webp.

TYPE: str DEFAULT: 'png'

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL, or None if no icon exists.

RAISES DESCRIPTION
ValueError

If the size is not an integer power of 2 between 16 and 4096 (inclusive).

OAuth2AuthorizationToken #

Bases: PartialOAuth2Token

Model for the OAuth2 token data returned by the authorization grant flow.

access_token class-attribute instance-attribute #

access_token: str = field(hash=True, repr=False)

Access token issued by the authorization server.

expires_in class-attribute instance-attribute #

expires_in: timedelta = field(eq=False, hash=False, repr=True)

Lifetime of this access token.

guild class-attribute instance-attribute #

guild: Optional[RESTGuild] = field(eq=False, hash=False, repr=True)

Object of the guild the user was added to.

This will only be present if this token was authorized with the hikari.applications.OAuth2Scope.BOT scope, otherwise this will be None.

refresh_token class-attribute instance-attribute #

refresh_token: int = field(eq=False, hash=False, repr=False)

Refresh token used to obtain new access tokens with the same grant.

scopes class-attribute instance-attribute #

scopes: Sequence[Union[OAuth2Scope, str]] = field(
    eq=False, hash=False, repr=True
)

Scopes the access token has access to.

token_type class-attribute instance-attribute #

token_type: Union[TokenType, str] = field(eq=False, hash=False, repr=True)

Type of token issued by the authorization server.

webhook class-attribute instance-attribute #

webhook: Optional[IncomingWebhook] = field(eq=False, hash=False, repr=True)

Object of the webhook that was created.

This will only be present if this token was authorized with the hikari.applications.OAuth2Scope.WEBHOOK_INCOMING scope, otherwise this will be None.

OAuth2ImplicitToken #

Bases: PartialOAuth2Token

Model for the OAuth2 token data returned by the implicit grant flow.

access_token class-attribute instance-attribute #

access_token: str = field(hash=True, repr=False)

Access token issued by the authorization server.

expires_in class-attribute instance-attribute #

expires_in: timedelta = field(eq=False, hash=False, repr=True)

Lifetime of this access token.

scopes class-attribute instance-attribute #

scopes: Sequence[Union[OAuth2Scope, str]] = field(
    eq=False, hash=False, repr=True
)

Scopes the access token has access to.

state class-attribute instance-attribute #

state: Optional[str] = field(eq=False, hash=False, repr=False)

State parameter that was present in the authorization request if provided.

token_type class-attribute instance-attribute #

token_type: Union[TokenType, str] = field(eq=False, hash=False, repr=True)

Type of token issued by the authorization server.

OAuth2Scope #

Bases: str, Enum

OAuth2 Scopes that Discord allows.

These are categories of permissions for applications using the OAuth2 API directly. Most users will only ever need the hikari.applications.OAuth2Scope.BOT scope when developing bots.

ACTIVITIES_READ class-attribute instance-attribute #

ACTIVITIES_READ = 'activities.read'

Enables fetching the "Now Playing/Recently Played" list.

Note

You must be whitelisted to use this scope.

ACTIVITIES_WRITE class-attribute instance-attribute #

ACTIVITIES_WRITE = 'activities.write'

Enables updating a user's activity.

Note

You must be whitelisted to use this scope.

Note

This is not required to use the GameSDK activity manager.

APPLICATIONS_BUILDS_READ class-attribute instance-attribute #

APPLICATIONS_BUILDS_READ = 'applications.builds.read'

Enables reading build data for a user's applications.

Note

You must be whitelisted to use this scope.

APPLICATIONS_BUILDS_UPLOAD class-attribute instance-attribute #

APPLICATIONS_BUILDS_UPLOAD = 'applications.builds.upload'

Enables uploading/updating builds for a user's applications.

Note

You must be whitelisted to use this scope.

APPLICATIONS_COMMANDS class-attribute instance-attribute #

APPLICATIONS_COMMANDS = 'applications.commands'

Allows your application's commands to be used in a guild.

This is used in Discord's special Bot Authorization Flow like hikari.applications.OAuth2Scope.BOT in-order to join an application into a guild as an application command providing integration.

APPLICATIONS_COMMANDS_PERMISSION_UPDATE class-attribute instance-attribute #

APPLICATIONS_COMMANDS_PERMISSION_UPDATE = (
    "applications.commands.permissions.update"
)

Allows your application to update its commands permissions via a bearer token.

APPLICATIONS_COMMANDS_UPDATE class-attribute instance-attribute #

APPLICATIONS_COMMANDS_UPDATE = 'applications.commands.update'

Allows your application to update its commands via a bearer token.

APPLICATIONS_ENTITLEMENTS class-attribute instance-attribute #

APPLICATIONS_ENTITLEMENTS = 'applications.entitlements'

Enables reading entitlements for a user's applications.

APPLICATIONS_STORE_UPDATE class-attribute instance-attribute #

APPLICATIONS_STORE_UPDATE = 'applications.store.update'

Enables reading/updating store data for the user's applications.

This includes store listings, achievements, SKU's, etc.

Note

The store API is deprecated and may be removed in the future.

BOT class-attribute instance-attribute #

BOT = 'bot'

Enables adding a bot application to a guild.

Note

This requires you to have set up a bot account for your application.

CONNECTIONS class-attribute instance-attribute #

CONNECTIONS = 'connections'

Enables viewing third-party linked accounts such as Twitch.

EMAIL class-attribute instance-attribute #

EMAIL = 'email'

Enable the application to view the user's email and application info.

GROUP_DM_JOIN class-attribute instance-attribute #

GROUP_DM_JOIN = 'gdm.join'

Enables joining users into a group DM.

Warning

This cannot add the bot to a group DM.

GUILDS class-attribute instance-attribute #

GUILDS = 'guilds'

Enables viewing the guilds the user is in.

GUILDS_JOIN class-attribute instance-attribute #

GUILDS_JOIN = 'guilds.join'

Enables adding the user to a specific guild.

Note

This requires you to have set up a bot account for your application.

GUILDS_MEMBERS_READ class-attribute instance-attribute #

GUILDS_MEMBERS_READ = 'guilds.members.read'

Used to read the current user's guild members.

IDENTIFY class-attribute instance-attribute #

IDENTIFY = 'identify'

Enables viewing info about itself.

Note

This does not include email address info. Use the hikari.applications.OAuth2Scope.EMAIL scope instead to retrieve this information.

RELATIONSHIPS_READ class-attribute instance-attribute #

RELATIONSHIPS_READ = 'relationships.read'

Enables viewing a user's friend list.

Note

You must be whitelisted to use this scope.

ROLE_CONNECTIONS_WRITE class-attribute instance-attribute #

ROLE_CONNECTIONS_WRITE = 'role_connections.write'

Used to write to the current user's connection and metadata for the app.

RPC class-attribute instance-attribute #

RPC = 'rpc'

Enables the RPC application to control the local user's Discord client.

Note

You must be whitelisted to use this scope.

RPC_MESSAGES_READ class-attribute instance-attribute #

RPC_MESSAGES_READ = 'messages.read'

Enables the RPC application to read messages from all channels the user is in.

RPC_NOTIFICATIONS_READ class-attribute instance-attribute #

RPC_NOTIFICATIONS_READ = 'rpc.notifications.read'

Enables the RPC application to read from all channels the user is in.

Note

You must be whitelisted to use this scope.

WEBHOOK_INCOMING class-attribute instance-attribute #

WEBHOOK_INCOMING = 'webhook.incoming'

Used to generate a webhook that is returned in the OAuth2 token response.

This is used during authorization code grants.

name property #

name: str

Return the name of the enum member as a str.

value property #

value

Return the value of the enum member.

OwnApplicationRoleConnection #

Represents an own application role connection.

metadata class-attribute instance-attribute #

metadata: Mapping[str, str] = field(eq=False, hash=False, repr=False)

Mapping application role connection metadata keys to their value.

Note

Unfortunately, these can't be deserialized to their proper types as Discord don't provide a way to difference between them.

You can deserialize them yourself based on what value you expect from the key: - INTEGER_X: Cast to an int. - DATETIME_X: Cast to datetime.datetime.fromisoformat or ciso8601.parse_rfc3339 (for speed). - BOOLEAN_X: Cast to a bool.

platform_name class-attribute instance-attribute #

platform_name: Optional[str] = field(eq=True, hash=True, repr=True)

The name of the platform.

platform_username class-attribute instance-attribute #

platform_username: Optional[str] = field(eq=True, hash=True, repr=True)

The users name in the platform.

OwnConnection #

Represents a user's connection with a third party account.

Returned by the [GET Current User Connections][] endpoint.

id class-attribute instance-attribute #

id: str = field(hash=True, repr=True)

The string ID of the third party connected account.

Warning

Seeing as this is a third party ID, it will not be a snowflakes.

integrations class-attribute instance-attribute #

integrations: Sequence[PartialIntegration] = field(
    eq=False, hash=False, repr=False
)

A sequence of the partial guild integration objects this connection has.

is_activity_visible class-attribute instance-attribute #

is_activity_visible: bool = field(eq=False, hash=False, repr=False)

True if this connection's activities are shown in the user's presence.

is_friend_sync_enabled class-attribute instance-attribute #

is_friend_sync_enabled: bool = field(eq=False, hash=False, repr=False)

True if friends should be added based on this connection.

is_revoked class-attribute instance-attribute #

is_revoked: bool = field(eq=False, hash=False, repr=False)

True if the connection has been revoked.

is_verified class-attribute instance-attribute #

is_verified: bool = field(eq=False, hash=False, repr=False)

True if the connection has been verified.

name class-attribute instance-attribute #

name: str = field(eq=False, hash=False, repr=True)

The username of the connected account.

type class-attribute instance-attribute #

type: str = field(eq=False, hash=False, repr=True)

The type of service this connection is for.

visibility class-attribute instance-attribute #

visibility: Union[ConnectionVisibility, int] = field(
    eq=False, hash=False, repr=True
)

The visibility of the connection.

OwnGuild #

Bases: PartialGuild

Represents a user bound partial guild object.

app class-attribute instance-attribute #

app: RESTAware = field(
    repr=False, eq=False, hash=False, metadata={SKIP_DEEP_COPY: True}
)

Client application that models may use for procedures.

approximate_active_member_count class-attribute instance-attribute #

approximate_active_member_count: int = field(eq=False, hash=False, repr=True)

The approximate amount of presences in this guild.

approximate_member_count class-attribute instance-attribute #

approximate_member_count: int = field(eq=False, hash=False, repr=True)

The approximate amount of members in this guild.

created_at property #

created_at: datetime

When the object was created.

features class-attribute instance-attribute #

features: Sequence[Union[str, GuildFeature]] = field(
    eq=False, hash=False, repr=False
)

A list of the features in this guild.

icon_hash class-attribute instance-attribute #

icon_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The hash for the guild icon, if there is one.

icon_url property #

icon_url: Optional[URL]

Icon URL for the guild, if set; otherwise None.

id class-attribute instance-attribute #

id: Snowflake = field(hash=True, repr=True)

The ID of this entity.

is_owner class-attribute instance-attribute #

is_owner: bool = field(eq=False, hash=False, repr=True)

True when the current user owns this guild.

my_permissions class-attribute instance-attribute #

my_permissions: Permissions = field(eq=False, hash=False, repr=False)

The guild-level permissions that apply to the current user or bot.

name class-attribute instance-attribute #

name: str = field(eq=False, hash=False, repr=True)

The name of the guild.

shard_id property #

shard_id: Optional[int]

Return the ID of the shard this guild is served by.

This may return None if the application does not have a gateway connection.

ban async #

ban(
    user: SnowflakeishOr[PartialUser],
    *,
    delete_message_seconds: UndefinedOr[Intervalish] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> None

Ban the given user from this guild.

PARAMETER DESCRIPTION
user

The user to ban from the guild.

TYPE: Snowflakeish[PartialUser]

PARAMETER DESCRIPTION
delete_message_seconds

If provided, the number of seconds to delete messages for. This can be represented as either an int/float between 0 and 604800 (7 days), or a datetime.timedelta object.

TYPE: UndefinedNoneOr[Intervalish]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.BAN_MEMBERS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild or user are not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_category async #

create_category(
    name: str,
    *,
    position: UndefinedOr[int] = undefined.UNDEFINED,
    permission_overwrites: UndefinedOr[
        Sequence[PermissionOverwrite]
    ] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildCategory

Create a category in the guild.

PARAMETER DESCRIPTION
name

The channels name. Must be between 2 and 1000 characters.

TYPE: str

PARAMETER DESCRIPTION
position

If provided, the position of the category.

TYPE: UndefinedOr[int]

permission_overwrites

If provided, the permission overwrites for the category.

TYPE: UndefinedOr[Sequence[PermissionOverwrite]]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildCategory

The created category.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_forum_channel async #

create_forum_channel(
    name: str,
    *,
    position: UndefinedOr[int] = undefined.UNDEFINED,
    category: UndefinedOr[SnowflakeishOr[GuildCategory]] = undefined.UNDEFINED,
    permission_overwrites: UndefinedOr[
        Sequence[PermissionOverwrite]
    ] = undefined.UNDEFINED,
    topic: UndefinedOr[str] = undefined.UNDEFINED,
    nsfw: UndefinedOr[bool] = undefined.UNDEFINED,
    rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED,
    default_auto_archive_duration: UndefinedOr[
        Intervalish
    ] = undefined.UNDEFINED,
    default_thread_rate_limit_per_user: UndefinedOr[
        Intervalish
    ] = undefined.UNDEFINED,
    default_forum_layout: UndefinedOr[
        Union[ForumLayoutType, int]
    ] = undefined.UNDEFINED,
    default_sort_order: UndefinedOr[
        Union[ForumSortOrderType, int]
    ] = undefined.UNDEFINED,
    available_tags: UndefinedOr[Sequence[ForumTag]] = undefined.UNDEFINED,
    default_reaction_emoji: Union[
        str, Emoji, UndefinedType, Snowflake
    ] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildForumChannel

Create a forum channel in the guild.

PARAMETER DESCRIPTION
name

The channels name. Must be between 2 and 1000 characters.

TYPE: str

PARAMETER DESCRIPTION
position

If provided, the position of the category.

TYPE: UndefinedOr[int]

category

The category to create the channel under. This may be the object or the ID of an existing category.

TYPE: UndefinedOr[SnowflakeishOr[GuildCategory]]

permission_overwrites

If provided, the permission overwrites for the category.

TYPE: UndefinedOr[Sequence[PermissionOverwrite]]

topic

If provided, the channels topic. Maximum 1024 characters.

TYPE: UndefinedOr[str]

nsfw

If provided, whether to mark the channel as NSFW.

TYPE: UndefinedOr[bool]

rate_limit_per_user

If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.

TYPE: UndefinedOr[Intervalish]

default_auto_archive_duration

If provided, the auto archive duration Discord's end user client should default to when creating threads in this channel.

This should be either 60, 1440, 4320 or 10080 minutes and, as of writing, ignores the parent channel's set default_auto_archive_duration when passed as hikari.undefined.UNDEFINED.

TYPE: UndefinedOr[Intervalish]

default_thread_rate_limit_per_user

If provided, the ratelimit that should be set in threads created from the forum.

TYPE: UndefinedOr[Intervalish]

default_forum_layout

If provided, the default forum layout to show in the client.

TYPE: UndefinedOr[Union[ForumLayoutType, int]]

default_sort_order

If provided, the default sort order to show in the client.

TYPE: UndefinedOr[Union[ForumSortOrderType, int]]

available_tags

If provided, the available tags to select from when creating a thread.

TYPE: UndefinedOr[Sequence[ForumTag]]

default_reaction_emoji

If provided, the new default reaction emoji for threads created in a forum channel.

TYPE: Union[str, Emoji, UndefinedType, Snowflake]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildForumChannel

The created forum channel.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_news_channel async #

create_news_channel(
    name: str,
    *,
    position: UndefinedOr[int] = undefined.UNDEFINED,
    topic: UndefinedOr[str] = undefined.UNDEFINED,
    nsfw: UndefinedOr[bool] = undefined.UNDEFINED,
    rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED,
    permission_overwrites: UndefinedOr[
        Sequence[PermissionOverwrite]
    ] = undefined.UNDEFINED,
    category: UndefinedOr[SnowflakeishOr[GuildCategory]] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildNewsChannel

Create a news channel in the guild.

PARAMETER DESCRIPTION
name

The channels name. Must be between 2 and 1000 characters.

TYPE: str

PARAMETER DESCRIPTION
position

If provided, the position of the channel (relative to the category, if any).

TYPE: UndefinedOr[int]

topic

If provided, the channels topic. Maximum 1024 characters.

TYPE: UndefinedOr[str]

nsfw

If provided, whether to mark the channel as NSFW.

TYPE: UndefinedOr[bool]

rate_limit_per_user

If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.

TYPE: UndefinedOr[Intervalish]

permission_overwrites

If provided, the permission overwrites for the channel.

TYPE: UndefinedOr[Sequence[PermissionOverwrite]]

category

The category to create the channel under. This may be the object or the ID of an existing category.

TYPE: UndefinedOr[SnowflakeishOr[GuildCategory]]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildNewsChannel

The created channel.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_stage_channel async #

create_stage_channel(
    name: str,
    *,
    position: UndefinedOr[int] = undefined.UNDEFINED,
    user_limit: UndefinedOr[int] = undefined.UNDEFINED,
    bitrate: UndefinedOr[int] = undefined.UNDEFINED,
    permission_overwrites: UndefinedOr[
        Sequence[PermissionOverwrite]
    ] = undefined.UNDEFINED,
    region: UndefinedOr[Union[VoiceRegion, str]] = undefined.UNDEFINED,
    category: UndefinedOr[SnowflakeishOr[GuildCategory]] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildStageChannel

Create a stage channel in the guild.

PARAMETER DESCRIPTION
name

The channel's name. Must be between 2 and 1000 characters.

TYPE: str

PARAMETER DESCRIPTION
position

If provided, the position of the channel (relative to the category, if any).

TYPE: UndefinedOr[int]

user_limit

If provided, the maximum users in the channel at once. Must be between 0 and 99 with 0 meaning no limit.

TYPE: UndefinedOr[int]

bitrate

If provided, the bitrate for the channel. Must be between 8000 and 96000 or 8000 and 128000 for VIP servers.

TYPE: UndefinedOr[int]

permission_overwrites

If provided, the permission overwrites for the channel.

TYPE: UndefinedOr[Sequence[PermissionOverwrite]]

region

If provided, the voice region to for this channel. Passing None here will set it to "auto" mode where the used region will be decided based on the first person who connects to it when it's empty.

TYPE: UndefinedOr[Union[VoiceRegion, str]]

category

The category to create the channel under. This may be the object or the ID of an existing category.

TYPE: UndefinedOr[SnowflakeishOr[GuildCategory]]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildStageChannel

The created channel.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_sticker async #

create_sticker(
    name: str,
    tag: str,
    image: Resourceish,
    *,
    description: UndefinedOr[str] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildSticker

Create a sticker in a guild.

Note

Lottie support is only available for verified and partnered servers.

PARAMETER DESCRIPTION
name

The name for the sticker.

TYPE: str

tag

The tag for the sticker.

TYPE: str

image

The 320x320 image for the sticker. Maximum upload size is 500kb. This can be a still PNG, an animated PNG, a Lottie, or a GIF.

TYPE: Resourceish

PARAMETER DESCRIPTION
description

If provided, the description of the sticker.

TYPE: UndefinedOr[str]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildSticker

The created sticker.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value or if there are no more spaces for the sticker in the guild.

ForbiddenError
NotFoundError

If the guild is not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_text_channel async #

create_text_channel(
    name: str,
    *,
    position: UndefinedOr[int] = undefined.UNDEFINED,
    topic: UndefinedOr[str] = undefined.UNDEFINED,
    nsfw: UndefinedOr[bool] = undefined.UNDEFINED,
    rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED,
    permission_overwrites: UndefinedOr[
        Sequence[PermissionOverwrite]
    ] = undefined.UNDEFINED,
    category: UndefinedOr[SnowflakeishOr[GuildCategory]] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildTextChannel

Create a text channel in the guild.

PARAMETER DESCRIPTION
name

The channels name. Must be between 2 and 1000 characters.

TYPE: str

PARAMETER DESCRIPTION
position

If provided, the position of the channel (relative to the category, if any).

TYPE: UndefinedOr[int]

topic

If provided, the channels topic. Maximum 1024 characters.

TYPE: UndefinedOr[str]

nsfw

If provided, whether to mark the channel as NSFW.

TYPE: UndefinedOr[bool]

rate_limit_per_user

If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.

TYPE: UndefinedOr[Intervalish]

permission_overwrites

If provided, the permission overwrites for the channel.

TYPE: UndefinedOr[Sequence[PermissionOverwrite]]

category

The category to create the channel under. This may be the object or the ID of an existing category.

TYPE: UndefinedOr[SnowflakeishOr[GuildCategory]]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildTextChannel

The created channel.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

create_voice_channel async #

create_voice_channel(
    name: str,
    *,
    position: UndefinedOr[int] = undefined.UNDEFINED,
    user_limit: UndefinedOr[int] = undefined.UNDEFINED,
    bitrate: UndefinedOr[int] = undefined.UNDEFINED,
    video_quality_mode: UndefinedOr[
        Union[VideoQualityMode, int]
    ] = undefined.UNDEFINED,
    permission_overwrites: UndefinedOr[
        Sequence[PermissionOverwrite]
    ] = undefined.UNDEFINED,
    region: UndefinedOr[Union[VoiceRegion, str]] = undefined.UNDEFINED,
    category: UndefinedOr[SnowflakeishOr[GuildCategory]] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildVoiceChannel

Create a voice channel in a guild.

PARAMETER DESCRIPTION
name

The channels name. Must be between 2 and 1000 characters.

TYPE: str

PARAMETER DESCRIPTION
position

If provided, the position of the channel (relative to the category, if any).

TYPE: UndefinedOr[int]

user_limit

If provided, the maximum users in the channel at once. Must be between 0 and 99 with 0 meaning no limit.

TYPE: UndefinedOr[int]

bitrate

If provided, the bitrate for the channel. Must be between 8000 and 96000 or 8000 and 128000 for VIP servers.

TYPE: UndefinedOr[int]

video_quality_mode

If provided, the new video quality mode for the channel.

TYPE: UndefinedOr[Union[VideoQualityMode, int]]

permission_overwrites

If provided, the permission overwrites for the channel.

TYPE: UndefinedOr[Sequence[PermissionOverwrite]]

region

If provided, the voice region to for this channel. Passing None here will set it to "auto" mode where the used region will be decided based on the first person who connects to it when it's empty.

TYPE: UndefinedOr[Union[VoiceRegion, str]]

category

The category to create the channel under. This may be the object or the ID of an existing category.

TYPE: UndefinedOr[SnowflakeishOr[GuildCategory]]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildVoiceChannel

The created channel.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the gui ld is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

delete_channel async #

delete_channel(channel: SnowflakeishOr[GuildChannel]) -> GuildChannel

Delete a channel in the guild.

Note

This method can also be used for deleting guild categories as well.

Note

For Public servers, the set 'Rules' or 'Guidelines' channels and the 'Public Server Updates' channel cannot be deleted.

PARAMETER DESCRIPTION
channel

The channel or category to delete. This may be the object or the ID of an existing channel.

TYPE: SnowflakeishOr[GuildChannel]

RETURNS DESCRIPTION
GuildChannel

Object of the channel or category that was deleted.

RAISES DESCRIPTION
hikari.errors.UnauthorizedError, or close a DM.

If you are unauthorized to make the request (invalid/missing token).

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_CHANNELS permission in the channel.

NotFoundError

If the channel is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

delete_sticker async #

delete_sticker(
    sticker: SnowflakeishOr[PartialSticker],
    *,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> None

Delete a sticker in a guild.

PARAMETER DESCRIPTION
sticker

The sticker to delete. This can be a sticker object or the ID of an existing sticker.

TYPE: SnowflakeishOr[PartialSticker]

PARAMETER DESCRIPTION
reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RAISES DESCRIPTION
ForbiddenError
NotFoundError

If the guild or the sticker are not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

edit async #

edit(
    *,
    name: UndefinedOr[str] = undefined.UNDEFINED,
    verification_level: UndefinedOr[
        GuildVerificationLevel
    ] = undefined.UNDEFINED,
    default_message_notifications: UndefinedOr[
        GuildMessageNotificationsLevel
    ] = undefined.UNDEFINED,
    explicit_content_filter_level: UndefinedOr[
        GuildExplicitContentFilterLevel
    ] = undefined.UNDEFINED,
    afk_channel: UndefinedOr[
        SnowflakeishOr[GuildVoiceChannel]
    ] = undefined.UNDEFINED,
    afk_timeout: UndefinedOr[Intervalish] = undefined.UNDEFINED,
    icon: UndefinedNoneOr[Resourceish] = undefined.UNDEFINED,
    owner: UndefinedOr[SnowflakeishOr[PartialUser]] = undefined.UNDEFINED,
    splash: UndefinedNoneOr[Resourceish] = undefined.UNDEFINED,
    banner: UndefinedNoneOr[Resourceish] = undefined.UNDEFINED,
    system_channel: UndefinedNoneOr[
        SnowflakeishOr[GuildTextChannel]
    ] = undefined.UNDEFINED,
    rules_channel: UndefinedNoneOr[
        SnowflakeishOr[GuildTextChannel]
    ] = undefined.UNDEFINED,
    public_updates_channel: UndefinedNoneOr[
        SnowflakeishOr[GuildTextChannel]
    ] = undefined.UNDEFINED,
    preferred_locale: UndefinedOr[Union[str, Locale]] = undefined.UNDEFINED,
    features: UndefinedOr[Sequence[GuildFeature]] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> RESTGuild

Edit the guild.

PARAMETER DESCRIPTION
name

If provided, the new name for the guild.

TYPE: UndefinedOr[str] DEFAULT: UNDEFINED

verification_level

If provided, the new verification level.

TYPE: UndefinedOr[GuildVerificationLevel] DEFAULT: UNDEFINED

default_message_notifications

If provided, the new default message notifications level.

TYPE: UndefinedOr[GuildMessageNotificationsLevel] DEFAULT: UNDEFINED

explicit_content_filter_level

If provided, the new explicit content filter level.

TYPE: UndefinedOr[GuildExplicitContentFilterLevel] DEFAULT: UNDEFINED

afk_channel

If provided, the new afk channel. Requires afk_timeout to be set to work.

TYPE: UndefinedOr[SnowflakeishOr[GuildVoiceChannel]] DEFAULT: UNDEFINED

afk_timeout

If provided, the new afk timeout.

TYPE: UndefinedOr[Intervalish] DEFAULT: UNDEFINED

icon

If provided, the new guild icon. Must be a 1024x1024 image or can be an animated gif when the guild has the hikari.guilds.GuildFeature.ANIMATED_ICON feature.

TYPE: UndefinedOr[Resourceish] DEFAULT: UNDEFINED

owner

If provided, the new guild owner.

Warning

You need to be the owner of the server to use this.

TYPE: hikari.undefined.UndefinedOr[hikari.snowflakes.SnowflakeishOr[hikari.users.PartialUser]]] DEFAULT: UNDEFINED

splash

If provided, the new guild splash. Must be a 16:9 image and the guild must have the hikari.guilds.GuildFeature.INVITE_SPLASH feature.

TYPE: UndefinedNoneOr[Resourceish] DEFAULT: UNDEFINED

banner

If provided, the new guild banner. Must be a 16:9 image and the guild must have the hikari.guilds.GuildFeature.BANNER feature.

TYPE: UndefinedNoneOr[Resourceish] DEFAULT: UNDEFINED

system_channel

If provided, the new system channel.

TYPE: UndefinedNoneOr[SnowflakeishOr[GuildTextChannel]] DEFAULT: UNDEFINED

rules_channel

If provided, the new rules channel.

TYPE: UndefinedNoneOr[SnowflakeishOr[GuildTextChannel]] DEFAULT: UNDEFINED

public_updates_channel

If provided, the new public updates channel.

TYPE: UndefinedNoneOr[SnowflakeishOr[GuildTextChannel]] DEFAULT: UNDEFINED

preferred_locale

If provided, the new preferred locale.

TYPE: UndefinedNoneOr[str] DEFAULT: UNDEFINED

features

If provided, the guild features to be enabled. Features not provided will be disabled.

TYPE: UndefinedOr[Sequence[GuildFeatures]] DEFAULT: UNDEFINED

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str] DEFAULT: UNDEFINED

RETURNS DESCRIPTION
RESTGuild

The edited guild.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value. Or you are missing the

ForbiddenError

If you are missing the hikari.permissions.Permissions.MANAGE_GUILD permission or if you tried to pass ownership without being the server owner.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

edit_sticker async #

edit_sticker(
    sticker: SnowflakeishOr[PartialSticker],
    *,
    name: UndefinedOr[str] = undefined.UNDEFINED,
    description: UndefinedOr[str] = undefined.UNDEFINED,
    tag: UndefinedOr[str] = undefined.UNDEFINED,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> GuildSticker

Edit a sticker in a guild.

PARAMETER DESCRIPTION
sticker

The sticker to edit. This can be a sticker object or the ID of an existing sticker.

TYPE: SnowflakeishOr[PartialSticker]

PARAMETER DESCRIPTION
name

If provided, the new name for the sticker.

TYPE: UndefinedOr[str]

description

If provided, the new description for the sticker.

TYPE: UndefinedOr[str]

tag

If provided, the new sticker tag.

TYPE: UndefinedOr[str]

reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RETURNS DESCRIPTION
GuildSticker

The edited sticker.

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError
NotFoundError

If the guild or the sticker are not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_emoji async #

Fetch an emoji from the guild.

PARAMETER DESCRIPTION
emoji

The emoji to fetch. This can be a hikari.emojis.CustomEmoji or the ID of an existing emoji.

TYPE: SnowflakeishOr[CustomEmoji]

RETURNS DESCRIPTION
KnownCustomEmoji

The requested emoji.

RAISES DESCRIPTION
NotFoundError

If the guild or the emoji are not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_emojis async #

fetch_emojis() -> Sequence[KnownCustomEmoji]

Fetch the emojis of the guild.

RETURNS DESCRIPTION
Sequence[KnownCustomEmoji]

The requested emojis.

RAISES DESCRIPTION
NotFoundError

If the guild is not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_roles async #

fetch_roles() -> Sequence[Role]

Fetch the roles of the guild.

RETURNS DESCRIPTION
Sequence[Role]

The requested roles.

RAISES DESCRIPTION
UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_self async #

fetch_self() -> RESTGuild

Fetch the guild.

RETURNS DESCRIPTION
RESTGuild

The requested guild.

RAISES DESCRIPTION
ForbiddenError

If you are not part of the guild.

NotFoundError

If the guild is not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_sticker async #

fetch_sticker(sticker: SnowflakeishOr[PartialSticker]) -> GuildSticker

Fetch a sticker from the guild.

PARAMETER DESCRIPTION
sticker

The sticker to fetch. This can be a sticker object or the ID of an existing sticker.

TYPE: SnowflakeishOr[PartialSticker]

RETURNS DESCRIPTION
GuildSticker

The requested sticker.

RAISES DESCRIPTION
ForbiddenError

If you are not part of the server.

NotFoundError

If the guild or the sticker are not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_stickers async #

fetch_stickers() -> Sequence[GuildSticker]

Fetch the stickers of the guild.

RETURNS DESCRIPTION
Sequence[GuildSticker]

The requested stickers.

RAISES DESCRIPTION
ForbiddenError

If you are not part of the server.

NotFoundError

If the guild is not found.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

kick async #

kick(
    user: SnowflakeishOr[PartialUser],
    *,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> None

Kick the given user from this guild.

PARAMETER DESCRIPTION
user

The user to kick from the guild.

TYPE: Snowflakeish[PartialUser]

PARAMETER DESCRIPTION
reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.KICK_MEMBERS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild or user are not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

make_icon_url #

make_icon_url(*, ext: Optional[str] = None, size: int = 4096) -> Optional[URL]

Generate the guild's icon URL, if set.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg, webp and gif (when animated).

If None, then the correct default extension is determined based on whether the icon is animated or not.

TYPE: Optional[str] DEFAULT: None

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL to the resource, or None if no icon is set.

RAISES DESCRIPTION
ValueError

If size is not a power of two or not between 16 and 4096.

unban async #

unban(
    user: SnowflakeishOr[PartialUser],
    *,
    reason: UndefinedOr[str] = undefined.UNDEFINED
) -> None

Unban the given user from this guild.

PARAMETER DESCRIPTION
user

The user to unban from the guild.

TYPE: Snowflakeish[PartialUser]

PARAMETER DESCRIPTION
reason

If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.

TYPE: UndefinedOr[str]

RAISES DESCRIPTION
BadRequestError

If any of the fields that are passed have an invalid value.

ForbiddenError

If you are missing the hikari.permissions.Permissions.BAN_MEMBERS permission.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the guild or user are not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

PartialOAuth2Token #

Model for partial OAuth2 token data returned by the API.

This will generally only be returned when by the client credentials OAuth2 flow.

access_token class-attribute instance-attribute #

access_token: str = field(hash=True, repr=False)

Access token issued by the authorization server.

expires_in class-attribute instance-attribute #

expires_in: timedelta = field(eq=False, hash=False, repr=True)

Lifetime of this access token.

scopes class-attribute instance-attribute #

scopes: Sequence[Union[OAuth2Scope, str]] = field(
    eq=False, hash=False, repr=True
)

Scopes the access token has access to.

token_type class-attribute instance-attribute #

token_type: Union[TokenType, str] = field(eq=False, hash=False, repr=True)

Type of token issued by the authorization server.

Team #

Bases: Unique

Represents a development team, along with all its members.

app class-attribute instance-attribute #

app: RESTAware = field(
    repr=False, eq=False, hash=False, metadata={SKIP_DEEP_COPY: True}
)

Client application that models may use for procedures.

created_at property #

created_at: datetime

When the object was created.

icon_hash class-attribute instance-attribute #

icon_hash: Optional[str] = field(eq=False, hash=False, repr=False)

The CDN hash of this team's icon.

If no icon is provided, this will be None.

icon_url property #

icon_url: Optional[URL]

Icon URL, or None if no icon exists.

id class-attribute instance-attribute #

id: Snowflake = field(hash=True, repr=True)

The ID of this entity.

members class-attribute instance-attribute #

members: Mapping[Snowflake, TeamMember] = field(
    eq=False, hash=False, repr=False
)

A mapping containing each member in this team.

The mapping maps keys containing the member's ID to values containing the member object.

name class-attribute instance-attribute #

name: str = field(hash=False, eq=False, repr=True)

The name of this team.

owner_id class-attribute instance-attribute #

owner_id: Snowflake = field(eq=False, hash=False, repr=True)

The ID of this team's owner.

make_icon_url #

make_icon_url(*, ext: str = 'png', size: int = 4096) -> Optional[URL]

Generate the icon URL for this team if set.

PARAMETER DESCRIPTION
ext

The extension to use for this URL. Supports png, jpeg, jpg and webp.

TYPE: str DEFAULT: 'png'

size

The size to set for the URL. Can be any power of two between 16 and 4096 inclusive.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL, or None if no icon exists.

RAISES DESCRIPTION
ValueError

If the size is not an integer power of 2 between 16 and 4096 (inclusive).

TeamMember #

Bases: User

Represents a member of a Team.

accent_color property #

accent_color: Optional[Color]

The custom banner color for the user, if set else None.

The official client will decide the default color if not set.

accent_colour property #

accent_colour: Optional[Color]

Alias for the hikari.users.User.accent_color field.

app property #

app: RESTAware

Return the app that is bound to the user object.

avatar_hash property #

avatar_hash: Optional[str]

Avatar hash for the user, if they have one, otherwise None.

avatar_url property #

avatar_url: Optional[URL]

Avatar URL for the user, if they have one set.

May be None if no custom avatar is set. In this case, you should use hikari.User.default_avatar_url instead.

banner_hash property #

banner_hash: Optional[str]

Banner hash for the user, if they have one, otherwise None.

banner_url property #

banner_url: Optional[URL]

Banner URL for the user, if they have one set.

May be None if no custom banner is set.

created_at property #

created_at: datetime

When the object was created.

default_avatar_url property #

default_avatar_url: URL

Default avatar URL for this user.

discriminator property #

discriminator: str

Discriminator for the user.

!!! deprecated 2.0.0.dev120 Discriminators are deprecated and being replaced with "0" by Discord during username migration. This field will be removed after migration is complete. Learn more here: https://dis.gd/usernames

display_avatar_url property #

display_avatar_url: URL

Display avatar URL for this user.

flags property #

flags: UserFlag

Flag bits that are set for the user.

global_name property #

global_name: Optional[str]

Global name for the user, if they have one, otherwise None.

id property #

ID of this entity.

is_bot property #

is_bot: bool

Whether this user is a bot account.

is_system property #

is_system: bool

Whether this user is a system account.

membership_state class-attribute instance-attribute #

membership_state: Union[TeamMembershipState, int] = field(repr=False)

The state of this user's membership.

mention property #

mention: str

Return a raw mention string for the given user.

Examples:

    >>> some_user.mention
    '<@123456789123456789>'

permissions class-attribute instance-attribute #

permissions: Sequence[str] = field(repr=False)

This member's permissions within a team.

At the time of writing, this will always be a sequence of one str, which will always be "*". This may change in the future, however.

team_id class-attribute instance-attribute #

team_id: Snowflake = field(repr=True)

The ID of the team this member belongs to.

user class-attribute instance-attribute #

user: User = field(repr=True)

The user representation of this team member.

username property #

username: str

Username for the user.

fetch_dm_channel async #

fetch_dm_channel() -> DMChannel

Fetch the DM channel for this user.

RETURNS DESCRIPTION
DMChannel

The requested channel.

RAISES DESCRIPTION
UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

NotFoundError

If the user is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

fetch_self async #

fetch_self() -> User

Get this user's up-to-date object by performing an API call.

RETURNS DESCRIPTION
User

The requested user object.

RAISES DESCRIPTION
NotFoundError

If the user is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

make_avatar_url #

make_avatar_url(
    *, ext: Optional[str] = None, size: int = 4096
) -> Optional[URL]

Generate the avatar URL for this user, if set.

If no custom avatar is set, this returns None. You can then use the hikari.User.default_avatar_url attribute instead to fetch the displayed URL.

PARAMETER DESCRIPTION
ext

The ext to use for this URL. Supports png, jpeg, jpg, webp and gif (when animated). Will be ignored for default avatars which can only be png.

If None, then the correct default extension is determined based on whether the icon is animated or not.

TYPE: Optional[str] DEFAULT: None

size

The size to set for the URL. Can be any power of two between 16 and 4096. Will be ignored for default avatars.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL to the avatar, or None if not present.

RAISES DESCRIPTION
ValueError

If size is not a power of two or not between 16 and 4096.

make_banner_url #

make_banner_url(
    *, ext: Optional[str] = None, size: int = 4096
) -> Optional[URL]

Generate the banner URL for this user, if set.

If no custom banner is set, this returns None.

PARAMETER DESCRIPTION
ext

The ext to use for this URL. Supports png, jpeg, jpg, webp and gif (when animated).

If None, then the correct default extension is determined based on whether the banner is animated or not.

TYPE: Optional[str] DEFAULT: None

size

The size to set for the URL. Can be any power of two between 16 and 4096.

TYPE: int DEFAULT: 4096

RETURNS DESCRIPTION
Optional[URL]

The URL to the banner, or None if not present.

RAISES DESCRIPTION
ValueError

If size is not a power of two or not between 16 and 4096.

send async #

send(
    content: UndefinedOr[Any] = undefined.UNDEFINED,
    *,
    attachment: UndefinedOr[Resourceish] = undefined.UNDEFINED,
    attachments: UndefinedOr[Sequence[Resourceish]] = undefined.UNDEFINED,
    component: UndefinedOr[ComponentBuilder] = undefined.UNDEFINED,
    components: UndefinedOr[Sequence[ComponentBuilder]] = undefined.UNDEFINED,
    embed: UndefinedOr[Embed] = undefined.UNDEFINED,
    embeds: UndefinedOr[Sequence[Embed]] = undefined.UNDEFINED,
    tts: UndefinedOr[bool] = undefined.UNDEFINED,
    reply: UndefinedOr[SnowflakeishOr[PartialMessage]] = undefined.UNDEFINED,
    reply_must_exist: UndefinedOr[bool] = undefined.UNDEFINED,
    mentions_everyone: UndefinedOr[bool] = undefined.UNDEFINED,
    mentions_reply: UndefinedOr[bool] = undefined.UNDEFINED,
    user_mentions: UndefinedOr[
        Union[SnowflakeishSequence[PartialUser], bool]
    ] = undefined.UNDEFINED,
    role_mentions: UndefinedOr[
        Union[SnowflakeishSequence[PartialRole], bool]
    ] = undefined.UNDEFINED,
    flags: Union[UndefinedType, int, MessageFlag] = undefined.UNDEFINED
) -> Message

Send a message to this user in DM's.

PARAMETER DESCRIPTION
content

If provided, the message contents. If hikari.undefined.UNDEFINED, then nothing will be sent in the content. Any other value here will be cast to a str.

If this is a hikari.embeds.Embed and no embed nor embeds kwarg is provided, then this will instead update the embed. This allows for simpler syntax when sending an embed alone.

Likewise, if this is a hikari.files.Resource, then the content is instead treated as an attachment if no attachment and no attachments kwargs are provided.

TYPE: UndefinedOr[Any] DEFAULT: UNDEFINED

PARAMETER DESCRIPTION
attachment

If provided, the message attachment. This can be a resource, or string of a path on your computer or a URL.

Attachments can be passed as many different things, to aid in convenience.

TYPE: UndefinedOr[Resourceish]

attachments

If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs.

TYPE: UndefinedOr[Sequence[Resourceish]]

component

If provided, builder object of the component to include in this message.

TYPE: UndefinedOr[ComponentBuilder]

components

If provided, a sequence of the component builder objects to include in this message.

TYPE: UndefinedOr[Sequence[ComponentBuilder]]

embed

If provided, the message embed.

TYPE: UndefinedOr[Embed]

embeds

If provided, the message embeds.

TYPE: UndefinedOr[Sequence[Embed]]

tts

If provided, whether the message will be read out by a screen reader using Discord's TTS (text-to-speech) system.

TYPE: UndefinedOr[bool]

reply

If provided, the message to reply to.

TYPE: UndefinedOr[SnowflakeishOr[PartialMessage]]

reply_must_exist

If provided, whether to error if the message being replied to does not exist instead of sending as a normal (non-reply) message.

This will not do anything if not being used with reply.

TYPE: UndefinedOr[bool]

mentions_everyone

If provided, whether the message should parse @everyone/@here mentions.

TYPE: UndefinedOr[bool]

mentions_reply

If provided, whether to mention the author of the message that is being replied to.

This will not do anything if not being used with reply.

TYPE: UndefinedOr[bool]

user_mentions

If provided, and True, all user mentions will be detected. If provided, and False, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection of hikari.snowflakes.Snowflake, or hikari.users.PartialUser derivatives to enforce mentioning specific users.

TYPE: UndefinedOr[Union[SnowflakeishSequence[PartialUser], bool]]

role_mentions

If provided, and True, all role mentions will be detected. If provided, and False, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection of hikari.snowflakes.Snowflake, or hikari.guilds.PartialRole derivatives to enforce mentioning specific roles.

TYPE: UndefinedOr[Union[SnowflakeishSequence[PartialRole], bool]]

flags

If provided, optional flags to set on the message. If hikari.undefined.UNDEFINED, then nothing is changed.

Note that some flags may not be able to be set. Currently the only flags that can be set are hikari.messages.MessageFlag.NONE and hikari.messages.MessageFlag.SUPPRESS_EMBEDS.

TYPE: UndefinedOr[MessageFlag]

RETURNS DESCRIPTION
Message

The created message.

RAISES DESCRIPTION
ValueError

If more than 100 unique objects/entities are passed for role_mentions or user_mentions.

TypeError

If both attachment and attachments are specified.

BadRequestError

This may be raised in several discrete situations, such as messages being empty with no attachments or embeds; messages with more than 2000 characters in them, embeds that exceed one of the many embed limits; too many attachments; attachments that are too large; invalid image URLs in embeds; reply not found or not in the same channel; too many components.

UnauthorizedError

If you are unauthorized to make the request (invalid/missing token).

ForbiddenError

If you are missing the hikari.permissions.Permissions.SEND_MESSAGES in the channel or the person you are trying to message has the DM's disabled.

NotFoundError

If the user is not found.

RateLimitTooLongError

Raised in the event that a rate limit occurs that is longer than max_rate_limit when making a request.

InternalServerError

If an internal error occurs on Discord while handling the request.

TeamMembershipState #

Bases: int, Enum

Represents the state of a user's team membership.

ACCEPTED class-attribute instance-attribute #

ACCEPTED = 2

Denotes the user has accepted the invite and is now a member.

INVITED class-attribute instance-attribute #

INVITED = 1

Denotes the user has been invited to the team but has yet to accept.

name property #

name: str

Return the name of the enum member as a str.

value property #

value

Return the value of the enum member.

TokenType #

Bases: str, Enum

Token types used within Hikari clients.

BASIC class-attribute instance-attribute #

BASIC = 'Basic'

OAuth2 basic token type.

BEARER class-attribute instance-attribute #

BEARER = 'Bearer'

OAuth2 bearer token type.

BOT class-attribute instance-attribute #

BOT = 'Bot'

Bot token type.

name property #

name: str

Return the name of the enum member as a str.

value property #

value

Return the value of the enum member.

get_token_id #

get_token_id(token: str) -> Snowflake

Try to get the bot ID stored in a token.

RETURNS DESCRIPTION
Snowflake

The ID that was extracted from the token.

RAISES DESCRIPTION
ValueError

If the passed token has an unexpected format.