hikari.impl.rest
#
Implementation of a V10 compatible REST API for Discord.
This also includes implementations designed towards providing RESTful functionality.
ClientCredentialsStrategy #
ClientCredentialsStrategy(client: SnowflakeishOr[PartialApplication], client_secret: str, *, scopes: Sequence[Union[OAuth2Scope, str]] = (applications.OAuth2Scope.APPLICATIONS_COMMANDS_UPDATE, applications.OAuth2Scope.IDENTIFY))
Bases: TokenStrategy
Strategy class for handling client credential OAuth2 authorization.
PARAMETER | DESCRIPTION |
---|---|
client | Object or ID of the application this client credentials strategy should authorize as. TYPE: |
client_secret | Client secret to use when authorizing. TYPE: |
scopes | The scopes to authorize for. TYPE: |
client_id property
#
client_id: Snowflake
ID of the application this token strategy authenticates with.
scopes property
#
scopes: Sequence[Union[OAuth2Scope, str]]
Sequence of scopes this token strategy authenticates for.
acquire async
#
acquire(client: RESTClient) -> str
Acquire an authorization token (including the prefix).
PARAMETER | DESCRIPTION |
---|---|
client | The rest client to use to acquire the token. TYPE: |
RETURNS | DESCRIPTION |
---|---|
str | The current authorization token to use for this client and it's prefix. |
invalidate #
Invalidate the cached token in this handler.
Note
token
may be provided in-order to avoid newly generated tokens from being invalidated due to multiple calls being made by separate subroutines which are handling the same token.
PARAMETER | DESCRIPTION |
---|---|
token | The token to specifically invalidate. If provided then this will only invalidate the cached token if it matches this, otherwise it'll be invalidated regardless. |
RESTApp #
RESTApp(*, executor: Optional[Executor] = None, http_settings: Optional[HTTPSettings] = None, dumps: JSONEncoder = data_binding.default_json_dumps, loads: JSONDecoder = data_binding.default_json_loads, max_rate_limit: float = 300.0, max_retries: int = 3, proxy_settings: Optional[ProxySettings] = None, url: Optional[str] = None)
Bases: ExecutorAware
The base for a HTTP-only Discord application.
This comprises of a shared TCP connector connection pool, and can have hikari.impl.rest.RESTClientImpl
instances for specific credentials acquired from it.
PARAMETER | DESCRIPTION |
---|---|
executor | The executor to use for blocking file IO operations. If |
http_settings | HTTP settings to use. Sane defaults are used if this is TYPE: |
dumps | The JSON encoder this application should use. TYPE: |
loads | The JSON decoder this application should use. TYPE: |
max_rate_limit | Maximum number of seconds to sleep for when rate limited. If a rate limit occurs that is longer than this value, then a This is provided since some endpoints may respond with non-sensible rate limits. Defaults to five minutes if unspecified. TYPE: |
max_retries | Maximum number of times a request will be retried if it fails with a Defaults to 3 if set to TYPE: |
proxy_settings | Proxy settings to use. If TYPE: |
url | The base URL for the API. You can generally leave this as being |
executor property
#
acquire #
acquire(token: Union[str, TokenStrategy, None] = None, token_type: Union[str, TokenType, None] = None) -> RESTClientImpl
Acquire an instance of this REST client.
Note
The returned REST client should be started before it can be used, either by calling hikari.impl.rest.RESTClientImpl.start
or by using it as an asynchronous context manager.
Examples:
rest_app = RESTApp()
await rest_app.start()
# Using the returned client as a context manager to implicitly start
# and stop it.
async with rest_app.acquire("A token", "Bot") as client:
user = await client.fetch_my_user()
await rest_app.close()
PARAMETER | DESCRIPTION |
---|---|
token | The bot or bearer token. If no token is to be used, this can be undefined. TYPE: |
token_type | The type of token in use. This should only be passed when This should be left as |
RETURNS | DESCRIPTION |
---|---|
RESTClientImpl | An instance of the REST client. |
RAISES | DESCRIPTION |
---|---|
ValueError | If |
RESTClientImpl #
RESTClientImpl(*, cache: Optional[MutableCache], entity_factory: EntityFactory, executor: Optional[Executor], http_settings: HTTPSettings, bucket_manager: Optional[RESTBucketManager] = None, bucket_manager_owner: bool = True, client_session: Optional[ClientSession] = None, client_session_owner: bool = True, max_rate_limit: float = 300.0, max_retries: int = 3, proxy_settings: ProxySettings, dumps: JSONEncoder = data_binding.default_json_dumps, loads: JSONDecoder = data_binding.default_json_loads, token: Union[str, None, TokenStrategy], token_type: Union[TokenType, str, None], rest_url: Optional[str])
Bases: RESTClient
Implementation of the V10-compatible Discord HTTP API.
This manages making HTTP/1.1 requests to the API and using the entity factory within the passed application instance to deserialize JSON responses to Pythonic data classes that are used throughout this library.
PARAMETER | DESCRIPTION |
---|---|
entity_factory | The entity factory to use. TYPE: |
executor | |
max_retries | Maximum number of times a request will be retried if it fails with a Defaults to 3 if set to TYPE: |
dumps | The JSON encoder this application should use. TYPE: |
loads | The JSON decoder this application should use. TYPE: |
token | The bot or bearer token. If no token is to be used, this can be undefined. TYPE: |
token_type | The type of token in use. This must be passed when a This should be left as |
rest_url | The HTTP API base URL. This can contain format-string specifiers to interpolate information such as API version in use. |
RAISES | DESCRIPTION |
---|---|
ValueError | If |
token_type property
#
Type of token this client is using for most requests.
If this is None
then this client will likely only work for some endpoints such as public and webhook ones.
add_reaction async
#
add_reaction(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage], emoji: Union[str, Emoji], emoji_id: UndefinedOr[SnowflakeishOr[CustomEmoji]] = undefined.UNDEFINED) -> None
Add a reaction emoji to a message in a given channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel where the message to add the reaction to is. This may be a TYPE: |
message | The message to add a reaction to. This may be the object or the ID of an existing message. TYPE: |
emoji | Object or name of the emoji to react with. |
emoji_id | ID of the custom emoji to react with. This should only be provided when a custom emoji's name is passed for TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If an invalid unicode emoji is given, or if the given custom emoji does not exist. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
add_role_to_member async
#
add_role_to_member(guild: SnowflakeishOr[PartialGuild], user: SnowflakeishOr[PartialUser], role: SnowflakeishOr[PartialRole], *, reason: UndefinedOr[str] = undefined.UNDEFINED) -> None
Add a role to a member.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild where the member is in. This may be the object or the ID of an existing guild. TYPE: |
user | The user to add the role to. This may be the object or the ID of an existing user. TYPE: |
role | The role to add. This may be the object or the ID of an existing role. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the guild, user or role are not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
add_thread_member async
#
add_thread_member(channel: SnowflakeishOr[GuildThreadChannel], user: SnowflakeishOr[PartialUser]) -> None
Add a user to a thread channel.
PARAMETER | DESCRIPTION |
---|---|
channel | Object or ID of the thread channel to add a member to. TYPE: |
user | Object or ID of the user to add to the thread. TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you cannot add a user to this thread. |
NotFoundError | If the thread channel doesn't exist. |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
add_user_to_guild async
#
add_user_to_guild(access_token: Union[str, PartialOAuth2Token], guild: SnowflakeishOr[PartialGuild], user: SnowflakeishOr[PartialUser], *, nickname: UndefinedOr[str] = undefined.UNDEFINED, nick: UndefinedOr[str] = undefined.UNDEFINED, roles: UndefinedOr[SnowflakeishSequence[PartialRole]] = undefined.UNDEFINED, mute: UndefinedOr[bool] = undefined.UNDEFINED, deaf: UndefinedOr[bool] = undefined.UNDEFINED) -> Optional[Member]
Add a user to a guild.
Note
This requires the access_token
to have the hikari.applications.OAuth2Scope.GUILDS_JOIN
scope enabled along with the authorization of a Bot which has hikari.permissions.Permissions.CREATE_INSTANT_INVITE
permission within the target guild.
PARAMETER | DESCRIPTION |
---|---|
access_token | Object or string of the access token to use for this request. TYPE: |
guild | The guild to add the user to. This may be the object or the ID of an existing guild. TYPE: |
user | The user to add to the guild. This may be the object or the ID of an existing user. TYPE: |
nickname | If provided, the nick to add to the user when he joins the guild. Requires the TYPE: |
roles | If provided, the roles to add to the user when he joins the guild. This may be a collection objects or IDs of existing roles. Requires the TYPE: |
mute | If provided, the mute state to add the user when he joins the guild. Requires the TYPE: |
deaf | If provided, the deaf state to add the user when he joins the guild. Requires the TYPE: |
RETURNS | DESCRIPTION |
---|---|
Optional[Member] |
|
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are not part of the guild you want to add the user to, if you are missing permissions to do one of the things you specified, if you are using an access token for another user, if the token is bound to another bot or if the access token doesn't have the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If you own the guild or the user is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
authorize_access_token async
#
authorize_access_token(client: SnowflakeishOr[PartialApplication], client_secret: str, code: str, redirect_uri: str) -> OAuth2AuthorizationToken
Authorize an OAuth2 token using the authorize code grant type.
PARAMETER | DESCRIPTION |
---|---|
client | Object or ID of the application to authorize with. TYPE: |
client_secret | Secret of the application to authorize with. TYPE: |
code | The authorization code to exchange for an OAuth2 access token. TYPE: |
redirect_uri | The redirect uri that was included in the authorization request. TYPE: |
RETURNS | DESCRIPTION |
---|---|
OAuth2AuthorizationToken | Object of the authorized OAuth2 token. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If an invalid redirect uri or code is passed. |
UnauthorizedError | When an client or client secret is passed. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
authorize_client_credentials_token async
#
authorize_client_credentials_token(client: SnowflakeishOr[PartialApplication], client_secret: str, scopes: Sequence[Union[OAuth2Scope, str]]) -> PartialOAuth2Token
Authorize a client credentials token for an application.
PARAMETER | DESCRIPTION |
---|---|
client | Object or ID of the application to authorize as. TYPE: |
client_secret | Secret of the application to authorize as. TYPE: |
scopes | The scopes to authorize for. TYPE: |
RETURNS | DESCRIPTION |
---|---|
PartialOAuth2Token | Object of the authorized partial OAuth2 token. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If invalid any invalid or malformed scopes are passed. |
UnauthorizedError | When an client or client secret is passed. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
ban_member #
ban_member(guild: SnowflakeishOr[PartialGuild], user: SnowflakeishOr[PartialUser], *, delete_message_seconds: UndefinedOr[Intervalish] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> Coroutine[Any, Any, None]
Alias of hikari.api.rest.RESTClient.ban_user
.
ban_user async
#
ban_user(guild: SnowflakeishOr[PartialGuild], 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 |
---|---|
guild | The guild to ban the member from. This may be the object or the ID of an existing guild. TYPE: |
user | The user to kick. This may be the object or the ID of an existing user. TYPE: |
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 TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
begin_guild_prune async
#
begin_guild_prune(guild: SnowflakeishOr[PartialGuild], *, days: UndefinedOr[int] = undefined.UNDEFINED, compute_prune_count: UndefinedOr[bool] = undefined.UNDEFINED, include_roles: UndefinedOr[SnowflakeishSequence[PartialRole]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> Optional[int]
Begin the guild prune.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to begin the guild prune in. This may be the object or the ID of an existing guild. TYPE: |
days | If provided, number of days to count prune for. TYPE: |
compute_prune_count | If provided, whether to return the prune count. This is discouraged for large guilds. TYPE: |
include_roles | If provided, the role(s) to include. By default, this endpoint will not count users with roles. Providing roles using this attribute will make members with the specified roles also get included into the count. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Optional[int] |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the guild is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
build_message_action_row #
build_message_action_row() -> MessageActionRowBuilder
Build a message action row message component for use in message create and REST calls.
RETURNS | DESCRIPTION |
---|---|
MessageActionRowBuilder | The initialised action row builder. |
build_modal_action_row #
build_modal_action_row() -> ModalActionRowBuilder
Build an action row modal component for use in interactions and REST calls.
RETURNS | DESCRIPTION |
---|---|
ModalActionRowBuilder | The initialised action row builder. |
context_menu_command_builder #
context_menu_command_builder(type: Union[CommandType, int], name: str) -> ContextMenuCommandBuilder
Create a command builder to use in hikari.api.rest.RESTClient.set_application_commands
.
PARAMETER | DESCRIPTION |
---|---|
type | The commands's type. TYPE: |
name | The command's name. TYPE: |
RETURNS | DESCRIPTION |
---|---|
ContextMenuCommandBuilder | The created command builder object. |
create_application_emoji async
#
create_application_emoji(application: SnowflakeishOr[PartialApplication], name: str, image: Resourceish) -> KnownCustomEmoji
Create an application emoji.
PARAMETER | DESCRIPTION |
---|---|
application | The application to create the emoji for. This can be an application object or the ID of an existing application. TYPE: |
name | The name for the emoji. TYPE: |
image | The 128x128 image for the emoji. Maximum upload size is 256kb. This can be a still or an animated image. TYPE: |
RETURNS | DESCRIPTION |
---|---|
KnownCustomEmoji | The created emoji. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value or if there is no more spaces for the emoji in the application. |
ForbiddenError | If you are trying to create an emoji for an application that is not yours. |
NotFoundError | If the application 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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_autocomplete_response async
#
create_autocomplete_response(interaction: SnowflakeishOr[PartialInteraction], token: str, choices: Sequence[AutocompleteChoiceBuilder]) -> None
Create the initial response for an autocomplete interaction.
PARAMETER | DESCRIPTION |
---|---|
interaction | Object or ID of the interaction this response is for. TYPE: |
token | The interaction's token. TYPE: |
choices | The autocomplete choices themselves. |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the interaction is not found or if the interaction's initial response has already been created. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_context_menu_command async
#
create_context_menu_command(application: SnowflakeishOr[PartialApplication], type: Union[CommandType, int], name: str, *, guild: UndefinedOr[SnowflakeishOr[PartialGuild]] = undefined.UNDEFINED, name_localizations: UndefinedOr[Mapping[Union[Locale, str], str]] = undefined.UNDEFINED, default_member_permissions: Union[UndefinedType, int, Permissions] = undefined.UNDEFINED, dm_enabled: UndefinedOr[bool] = undefined.UNDEFINED, nsfw: UndefinedOr[bool] = undefined.UNDEFINED) -> ContextMenuCommand
Create an application context menu command.
PARAMETER | DESCRIPTION |
---|---|
application | Object or ID of the application to create a command for. TYPE: |
type | The type of menu command to make. Only USER and MESSAGE are valid here. TYPE: |
name | The command's name. TYPE: |
guild | Object or ID of the specific guild this should be made for. If left as TYPE: |
name_localizations | The name localizations for this command. TYPE: |
default_member_permissions | Member permissions necessary to utilize this command by default. If TYPE: |
dm_enabled | Whether this command is enabled in DMs with the bot. This can only be applied to non-guild commands. TYPE: |
nsfw | Whether this command should be age-restricted. TYPE: |
RETURNS | DESCRIPTION |
---|---|
ContextMenuCommand | Object of the created command. |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you cannot access the provided application's commands. |
NotFoundError | If the provided application isn't found. |
BadRequestError | If any of the fields that are passed have an invalid value. |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_dm_channel async
#
create_dm_channel(user: SnowflakeishOr[PartialUser]) -> DMChannel
Create a DM channel with a user.
PARAMETER | DESCRIPTION |
---|---|
user | The user to create the DM channel with. This may be the object or the ID of an existing user. TYPE: |
RETURNS | DESCRIPTION |
---|---|
DMChannel | The created DM channel. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If the user 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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_emoji async
#
create_emoji(guild: SnowflakeishOr[PartialGuild], name: str, image: Resourceish, *, roles: UndefinedOr[SnowflakeishSequence[PartialRole]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> KnownCustomEmoji
Create an emoji in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the emoji on. This can be a guild object or the ID of an existing guild. TYPE: |
name | The name for the emoji. TYPE: |
image | The 128x128 image for the emoji. Maximum upload size is 256kb. This can be a still or an animated image. TYPE: |
roles | If provided, a collection of the roles that will be able to use this emoji. This can be a TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
KnownCustomEmoji | The created emoji. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value or if there are no more spaces for the type of emoji in the guild. |
ForbiddenError | If you are missing |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_external_event async
#
create_external_event(guild: SnowflakeishOr[PartialGuild], name: str, /, location: str, start_time: datetime, end_time: datetime, *, description: UndefinedOr[str] = undefined.UNDEFINED, image: UndefinedOr[Resourceish] = undefined.UNDEFINED, privacy_level: Union[int, EventPrivacyLevel] = scheduled_events.EventPrivacyLevel.GUILD_ONLY, reason: UndefinedOr[str] = undefined.UNDEFINED) -> ScheduledExternalEvent
Create a scheduled external event.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the event in. TYPE: |
name | The name of the event. TYPE: |
location | The location the event. TYPE: |
start_time | When the event is scheduled to start. TYPE: |
end_time | When the event is scheduled to end. TYPE: |
description | The event's description. TYPE: |
image | The event's display image. TYPE: |
privacy_level | The event's privacy level. This effects who can view and subscribe to the event. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
ScheduledExternalEvent | The created scheduled external event. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the guild or event is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_forum_post async
#
create_forum_post(channel: SnowflakeishOr[PermissibleGuildChannel], name: str, /, 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, sticker: UndefinedOr[SnowflakeishOr[PartialSticker]] = undefined.UNDEFINED, stickers: UndefinedOr[SnowflakeishSequence[PartialSticker]] = undefined.UNDEFINED, tts: 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, auto_archive_duration: UndefinedOr[Intervalish] = datetime.timedelta(days=1), rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED, tags: UndefinedOr[Sequence[SnowflakeishOr[ForumTag]]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> GuildPublicThread
Create a post in a forum channel.
PARAMETER | DESCRIPTION |
---|---|
channel | Object or ID of the forum channel to create a post in. |
name | Name of the post. TYPE: |
content | If provided, the message contents. If If this is a Likewise, if this is a TYPE: |
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: |
attachments | If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs. TYPE: |
component | If provided, builder object of the component to include in this message. TYPE: |
components | If provided, a sequence of the component builder objects to include in this message. TYPE: |
embed | If provided, the message embed. TYPE: |
embeds | If provided, the message embeds. TYPE: |
sticker | If provided, the object or ID of a sticker to send on the message. As of writing, bots can only send custom stickers from the current guild. TYPE: |
stickers | If provided, a sequence of the objects and IDs of up to 3 stickers to send on the message. As of writing, bots can only send custom stickers from the current guild. TYPE: |
tts | If provided, whether the message will be read out by a screen reader using Discord's TTS (text-to-speech) system. TYPE: |
mentions_everyone | If provided, whether the message should parse @everyone/@here mentions. TYPE: |
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 TYPE: |
user_mentions | If provided, and TYPE: |
role_mentions | If provided, and TYPE: |
flags | If provided, optional flags to set on the message. If Note that some flags may not be able to be set. Currently the only flags that can be set are TYPE: |
auto_archive_duration | If provided, how long the post should remain inactive until it's archived. 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 TYPE: |
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: |
tags | If provided, the tags to add to the created post. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
GuildPublicThread | The created post. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_category async
#
create_guild_category(guild: SnowflakeishOr[PartialGuild], name: str, *, position: UndefinedOr[int] = undefined.UNDEFINED, permission_overwrites: UndefinedOr[Sequence[PermissionOverwrite]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> GuildCategory
Create a category in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the channel in. This may be the object or the ID of an existing guild. TYPE: |
name | The channels name. Must be between 2 and 1000 characters. TYPE: |
position | If provided, the position of the category. TYPE: |
permission_overwrites | If provided, the permission overwrites for the category. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_forum_channel async
#
create_guild_forum_channel(guild: SnowflakeishOr[PartialGuild], 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 a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the channel in. This may be the object or the ID of an existing guild. TYPE: |
name | The channels name. Must be between 2 and 1000 characters. TYPE: |
position | If provided, the position of the category. TYPE: |
category | The category to create the channel under. This may be the object or the ID of an existing category. TYPE: |
permission_overwrites | If provided, the permission overwrites for the category. TYPE: |
topic | If provided, the channels topic. Maximum 1024 characters. TYPE: |
nsfw | If provided, whether to mark the channel as NSFW. TYPE: |
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: |
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 TYPE: |
default_thread_rate_limit_per_user | If provided, the ratelimit that should be set in threads created from the forum. TYPE: |
default_forum_layout | If provided, the default forum layout to show in the client. TYPE: |
default_sort_order | If provided, the default sort order to show in the client. TYPE: |
available_tags | If provided, the available tags to select from when creating a thread. TYPE: |
default_reaction_emoji | If provided, the new default reaction emoji for threads created in a forum channel. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_from_template async
#
create_guild_from_template(template: Union[str, Template], name: str, *, icon: UndefinedOr[Resourceish] = undefined.UNDEFINED) -> RESTGuild
Make a guild from a template.
Note
This endpoint can only be used by bots in less than 10 guilds.
PARAMETER | DESCRIPTION |
---|---|
template | The object or string code of the template to create a guild based on. |
name | The new guilds name. TYPE: |
icon | If provided, the guild icon to set. Must be a 1024x1024 image or can be an animated gif when the guild has the TYPE: |
RETURNS | DESCRIPTION |
---|---|
RESTGuild | Object of the created guild. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value or if you call this as a bot that's in more than 10 guilds. |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_news_channel async
#
create_guild_news_channel(guild: SnowflakeishOr[PartialGuild], 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, default_auto_archive_duration: UndefinedOr[Intervalish] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> GuildNewsChannel
Create a news channel in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the channel in. This may be the object or the ID of an existing guild. TYPE: |
name | The channels name. Must be between 2 and 1000 characters. TYPE: |
position | If provided, the position of the channel (relative to the category, if any). TYPE: |
topic | If provided, the channels topic. Maximum 1024 characters. TYPE: |
nsfw | If provided, whether to mark the channel as NSFW. TYPE: |
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: |
permission_overwrites | If provided, the permission overwrites for the channel. TYPE: |
category | The category to create the channel under. This may be the object or the ID of an existing category. TYPE: |
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 TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_stage_channel async
#
create_guild_stage_channel(guild: SnowflakeishOr[PartialGuild], 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 a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the channel in. This may be the object or the ID of an existing guild. TYPE: |
name | The channel's name. Must be between 2 and 1000 characters. TYPE: |
position | If provided, the position of the channel (relative to the category, if any). TYPE: |
user_limit | If provided, the maximum users in the channel at once. Must be between 0 and 99 with 0 meaning no limit. TYPE: |
bitrate | If provided, the bitrate for the channel. Must be between 8000 and 96000 or 8000 and 128000 for VIP servers. TYPE: |
permission_overwrites | If provided, the permission overwrites for the channel. TYPE: |
region | If provided, the voice region to for this channel. Passing TYPE: |
category | The category to create the channel under. This may be the object or the ID of an existing category. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_text_channel async
#
create_guild_text_channel(guild: SnowflakeishOr[PartialGuild], 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, default_auto_archive_duration: UndefinedOr[Intervalish] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> GuildTextChannel
Create a text channel in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the channel in. This may be the object or the ID of an existing guild. TYPE: |
name | The channels name. Must be between 2 and 1000 characters. TYPE: |
position | If provided, the position of the channel (relative to the category, if any). TYPE: |
topic | If provided, the channels topic. Maximum 1024 characters. TYPE: |
nsfw | If provided, whether to mark the channel as NSFW. TYPE: |
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: |
permission_overwrites | If provided, the permission overwrites for the channel. TYPE: |
category | The category to create the channel under. This may be the object or the ID of an existing category. TYPE: |
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 TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_guild_voice_channel async
#
create_guild_voice_channel(guild: SnowflakeishOr[PartialGuild], 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 |
---|---|
guild | The guild to create the channel in. This may be the object or the ID of an existing guild. TYPE: |
name | The channels name. Must be between 2 and 1000 characters. TYPE: |
position | If provided, the position of the channel (relative to the category, if any). TYPE: |
user_limit | If provided, the maximum users in the channel at once. Must be between 0 and 99 with 0 meaning no limit. TYPE: |
bitrate | If provided, the bitrate for the channel. Must be between 8000 and 96000 or 8000 and 128000 for VIP servers. TYPE: |
video_quality_mode | If provided, the new video quality mode for the channel. TYPE: |
permission_overwrites | If provided, the permission overwrites for the channel. TYPE: |
region | If provided, the voice region to for this channel. Passing TYPE: |
category | The category to create the channel under. This may be the object or the ID of an existing category. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_interaction_response async
#
create_interaction_response(interaction: SnowflakeishOr[PartialInteraction], token: str, response_type: Union[int, ResponseType], content: UndefinedNoneOr[Any] = undefined.UNDEFINED, *, flags: Union[int, MessageFlag, UndefinedType] = undefined.UNDEFINED, tts: UndefinedOr[bool] = undefined.UNDEFINED, attachment: UndefinedNoneOr[Resourceish] = undefined.UNDEFINED, attachments: UndefinedNoneOr[Sequence[Resourceish]] = undefined.UNDEFINED, component: UndefinedNoneOr[ComponentBuilder] = undefined.UNDEFINED, components: UndefinedNoneOr[Sequence[ComponentBuilder]] = undefined.UNDEFINED, embed: UndefinedNoneOr[Embed] = undefined.UNDEFINED, embeds: UndefinedNoneOr[Sequence[Embed]] = undefined.UNDEFINED, mentions_everyone: UndefinedOr[bool] = undefined.UNDEFINED, user_mentions: UndefinedOr[Union[SnowflakeishSequence[PartialUser], bool]] = undefined.UNDEFINED, role_mentions: UndefinedOr[Union[SnowflakeishSequence[PartialRole], bool]] = undefined.UNDEFINED) -> None
Create the initial response for a interaction.
Warning
Calling this with an interaction which already has an initial response will result in this raising a hikari.errors.NotFoundError
. This includes if the REST interaction server has already responded to the request.
PARAMETER | DESCRIPTION |
---|---|
interaction | Object or ID of the interaction this response is for. TYPE: |
token | The interaction's token. TYPE: |
response_type | The type of interaction response this is. TYPE: |
content | If provided, the message contents. If If this is a TYPE: |
attachment | If provided, the message attachment. This can be a resource, or string of a path on your computer or a URL. TYPE: |
attachments | If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs. TYPE: |
component | If provided, builder object of the component to include in this message. TYPE: |
components | If provided, a sequence of the component builder objects to include in this message. TYPE: |
embed | If provided, the message embed. TYPE: |
embeds | If provided, the message embeds. TYPE: |
flags | If provided, the message flags this response should have. As of writing the only message flags which can be set here are TYPE: |
tts | If provided, whether the message will be read out by a screen reader using Discord's TTS (text-to-speech) system. TYPE: |
mentions_everyone | If provided, whether the message should parse @everyone/@here mentions. TYPE: |
user_mentions | If provided, and TYPE: |
role_mentions | If provided, and TYPE: |
RAISES | DESCRIPTION |
---|---|
ValueError | If more than 100 unique objects/entities are passed for |
TypeError | If both |
BadRequestError | This may be raised in several discrete situations, such as messages being empty with no embeds; messages with more than 2000 characters in them, embeds that exceed one of the many embed limits invalid image URLs in embeds. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the interaction is not found or if the interaction's initial response has already been created. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_invite async
#
create_invite(channel: SnowflakeishOr[GuildChannel], *, max_age: UndefinedOr[Intervalish] = undefined.UNDEFINED, max_uses: UndefinedOr[int] = undefined.UNDEFINED, temporary: UndefinedOr[bool] = undefined.UNDEFINED, unique: UndefinedOr[bool] = undefined.UNDEFINED, target_type: UndefinedOr[TargetType] = undefined.UNDEFINED, target_user: UndefinedOr[SnowflakeishOr[PartialUser]] = undefined.UNDEFINED, target_application: UndefinedOr[SnowflakeishOr[PartialApplication]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> InviteWithMetadata
Create an invite to the given guild channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to create a invite for. This may be the object or the ID of an existing channel. TYPE: |
max_age | If provided, the duration of the invite before expiry. TYPE: |
max_uses | If provided, the max uses the invite can have. TYPE: |
temporary | If provided, whether the invite only grants temporary membership. TYPE: |
unique | If provided, whether the invite should be unique. TYPE: |
target_type | If provided, the target type of this invite. TYPE: |
target_user | If provided, the target user id for this invite. This may be the object or the ID of an existing user. Note This is required if TYPE: |
target_application | If provided, the target application id for this invite. This may be the object or the ID of an existing application. Note This is required if TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
InviteWithMetadata | The invite to the given guild channel. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the channel is not found, or if the target user does not exist, if provided. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_message async
#
create_message(channel: SnowflakeishOr[TextableChannel], 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, sticker: UndefinedOr[SnowflakeishOr[PartialSticker]] = undefined.UNDEFINED, stickers: UndefinedOr[SnowflakeishSequence[PartialSticker]] = 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
Create a message in the given channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to create the message in. TYPE: |
content | If provided, the message contents. If If this is a Likewise, if this is a TYPE: |
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: |
attachments | If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs. TYPE: |
component | If provided, builder object of the component to include in this message. TYPE: |
components | If provided, a sequence of the component builder objects to include in this message. TYPE: |
embed | If provided, the message embed. TYPE: |
embeds | If provided, the message embeds. TYPE: |
sticker | If provided, the object or ID of a sticker to send on the message. As of writing, bots can only send custom stickers from the current guild. TYPE: |
stickers | If provided, a sequence of the objects and IDs of up to 3 stickers to send on the message. As of writing, bots can only send custom stickers from the current guild. TYPE: |
tts | If provided, whether the message will be read out by a screen reader using Discord's TTS (text-to-speech) system. TYPE: |
reply | If provided, the message to reply to. TYPE: |
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 TYPE: |
mentions_everyone | If provided, whether the message should parse @everyone/@here mentions. TYPE: |
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 TYPE: |
user_mentions | If provided, and TYPE: |
role_mentions | If provided, and TYPE: |
flags | If provided, optional flags to set on the message. If Note that some flags may not be able to be set. Currently the only flags that can be set are [hikari.messages.MessageFlag.SUPPRESS_NOTIFICATIONS] and [hikari.messages.MessageFlag.SUPPRESS_EMBEDS]. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Message | The created message. |
RAISES | DESCRIPTION |
---|---|
ValueError | If more than 100 unique objects/entities are passed for |
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; if |
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 channel is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_message_thread async
#
create_message_thread(channel: SnowflakeishOr[PermissibleGuildChannel], message: SnowflakeishOr[PartialMessage], name: str, /, *, auto_archive_duration: UndefinedOr[Intervalish] = datetime.timedelta(days=1), rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> Union[GuildPublicThread, GuildNewsThread]
Create a public or news thread on a message in a guild channel.
Note
This call may create a public or news thread dependent on the target channel's type and cannot create private threads.
PARAMETER | DESCRIPTION |
---|---|
channel | Object or ID of the guild news or text channel to create a public thread in. |
message | Object or ID of the message to attach the created thread to. TYPE: |
name | Name of the thread channel. TYPE: |
auto_archive_duration | If provided, how long the thread should remain inactive until it's archived. 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 TYPE: |
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: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Union[GuildPublicThread, GuildNewsThread] | The created public or news thread channel. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_modal_response async
#
create_modal_response(interaction: SnowflakeishOr[PartialInteraction], token: str, *, title: str, custom_id: str, component: UndefinedOr[ComponentBuilder] = undefined.UNDEFINED, components: UndefinedOr[Sequence[ComponentBuilder]] = undefined.UNDEFINED) -> None
Create a response by sending a modal.
PARAMETER | DESCRIPTION |
---|---|
interaction | Object or ID of the interaction this response is for. TYPE: |
token | The interaction's token. TYPE: |
title | The title that will show up in the modal. TYPE: |
custom_id | Developer set custom ID used for identifying interactions with this modal. TYPE: |
component | A component builders to send in this modal. TYPE: |
components | A sequence of component builders to send in this modal. TYPE: |
RAISES | DESCRIPTION |
---|---|
ValueError | If both |
create_premium_required_response async
#
create_premium_required_response(interaction: SnowflakeishOr[PartialInteraction], token: str) -> None
Create an ephemeral response indicating that the user needs premium features.
This is only available to monetized applications.
PARAMETER | DESCRIPTION |
---|---|
interaction | Object or ID of the interaction this response is for. TYPE: |
token | The interaction's token. TYPE: |
create_role async
#
create_role(guild: SnowflakeishOr[PartialGuild], *, name: UndefinedOr[str] = undefined.UNDEFINED, permissions: UndefinedOr[Permissions] = permissions_.Permissions.NONE, color: UndefinedOr[Colorish] = undefined.UNDEFINED, colour: UndefinedOr[Colorish] = undefined.UNDEFINED, hoist: UndefinedOr[bool] = undefined.UNDEFINED, icon: UndefinedOr[Resourceish] = undefined.UNDEFINED, unicode_emoji: UndefinedOr[str] = undefined.UNDEFINED, mentionable: UndefinedOr[bool] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> Role
Create a role.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the role in. This may be the object or the ID of an existing guild. TYPE: |
name | If provided, the name for the role. TYPE: |
permissions | The permissions to give the role. This will default to setting NO roles if left to the default value. This is in contrast to default behaviour on Discord where some random permissions will be set by default. TYPE: |
color | If provided, the role's color. TYPE: |
colour | An alias for TYPE: |
hoist | If provided, whether to hoist the role. TYPE: |
icon | If provided, the role icon. Must be a 64x64 image under 256kb. TYPE: |
unicode_emoji | If provided, the standard emoji to set as the role icon. TYPE: |
mentionable | If provided, whether to make the role mentionable. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Role | The created role. |
RAISES | DESCRIPTION |
---|---|
TypeError | If both |
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_slash_command async
#
create_slash_command(application: SnowflakeishOr[PartialApplication], name: str, description: str, *, guild: UndefinedOr[SnowflakeishOr[PartialGuild]] = undefined.UNDEFINED, options: UndefinedOr[Sequence[CommandOption]] = undefined.UNDEFINED, name_localizations: UndefinedOr[Mapping[Union[Locale, str], str]] = undefined.UNDEFINED, description_localizations: UndefinedOr[Mapping[Union[Locale, str], str]] = undefined.UNDEFINED, default_member_permissions: Union[UndefinedType, int, Permissions] = undefined.UNDEFINED, dm_enabled: UndefinedOr[bool] = undefined.UNDEFINED, nsfw: UndefinedOr[bool] = undefined.UNDEFINED) -> SlashCommand
Create an application slash command.
PARAMETER | DESCRIPTION |
---|---|
application | Object or ID of the application to create a command for. TYPE: |
name | The command's name. This should match the regex TYPE: |
description | The description to set for the command. This should be inclusively between 1-100 characters in length. TYPE: |
guild | Object or ID of the specific guild this should be made for. If left as TYPE: |
options | A sequence of up to 10 options for this command. TYPE: |
name_localizations | The name localizations for this command. TYPE: |
description_localizations | The description localizations for this command. TYPE: |
default_member_permissions | Member permissions necessary to utilize this command by default. If TYPE: |
dm_enabled | Whether this command is enabled in DMs with the bot. This can only be applied to non-guild commands. TYPE: |
nsfw | Whether this command should be age-restricted. TYPE: |
RETURNS | DESCRIPTION |
---|---|
SlashCommand | Object of the created command. |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you cannot access the provided application's commands. |
NotFoundError | If the provided application isn't found. |
BadRequestError | If any of the fields that are passed have an invalid value. |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_stage_event async
#
create_stage_event(guild: SnowflakeishOr[PartialGuild], channel: SnowflakeishOr[PartialChannel], name: str, /, start_time: datetime, *, description: UndefinedOr[str] = undefined.UNDEFINED, end_time: UndefinedOr[datetime] = undefined.UNDEFINED, image: UndefinedOr[Resourceish] = undefined.UNDEFINED, privacy_level: Union[int, EventPrivacyLevel] = scheduled_events.EventPrivacyLevel.GUILD_ONLY, reason: UndefinedOr[str] = undefined.UNDEFINED) -> ScheduledStageEvent
Create a scheduled stage event.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the event in. TYPE: |
channel | The stage channel to create the event in. TYPE: |
name | The name of the event. TYPE: |
start_time | When the event is scheduled to start. TYPE: |
description | The event's description. TYPE: |
end_time | When the event should be scheduled to end. TYPE: |
image | The event's display image. TYPE: |
privacy_level | The event's privacy level. This effects who can view and subscribe to the event. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
ScheduledStageEvent | The created scheduled stage event. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing permissions to create the scheduled event. You need the following permissions in the target stage channel: |
NotFoundError | If the guild or event is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_stage_instance async
#
create_stage_instance(channel: SnowflakeishOr[GuildStageChannel], *, topic: str, privacy_level: UndefinedOr[Union[int, StageInstancePrivacyLevel]] = undefined.UNDEFINED, send_start_notification: UndefinedOr[bool] = undefined.UNDEFINED, scheduled_event_id: UndefinedOr[SnowflakeishOr[ScheduledEvent]] = undefined.UNDEFINED) -> StageInstance
Create a stage instance in guild stage channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to use for the stage instance creation. TYPE: |
topic | The topic for the stage instance. TYPE: |
privacy_level | The privacy level for the stage instance. TYPE: |
send_start_notification | Whether to send a notification to all server members that the stage instance has started. TYPE: |
scheduled_event_id | The ID of the scheduled event to associate with the stage instance. TYPE: |
RETURNS | DESCRIPTION |
---|---|
StageInstance | The created stage instance. |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the interaction or response is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
RateLimitedError | Usually, Hikari will handle and retry on hitting rate-limits automatically. This includes most bucket-specific rate-limits and global rate-limits. In some rare edge cases, however, Discord implements other undocumented rules for rate-limiting, such as limits per attribute. These cannot be detected or handled normally by Hikari due to their undocumented nature, and will trigger this exception if they occur. |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_sticker async
#
create_sticker(guild: SnowflakeishOr[PartialGuild], name: str, tag: str, image: Resourceish, *, description: UndefinedOr[str] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> GuildSticker
Create a sticker in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the sticker on. This can be a guild object or the ID of an existing guild. TYPE: |
name | The name for the sticker. TYPE: |
tag | The tag for the sticker. TYPE: |
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. Note Lottie support is only available for verified and partnered servers. TYPE: |
description | If provided, the description of the sticker. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 | If you are missing |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_template async
#
create_template(guild: SnowflakeishOr[PartialGuild], name: str, *, description: UndefinedNoneOr[str] = undefined.UNDEFINED) -> Template
Create a guild template.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create a template from. TYPE: |
name | The name to use for the created template. TYPE: |
description | The description to set for the template. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Template | The object of the created template. |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are not part of the guild. |
NotFoundError | If the guild is not found or you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_test_entitlement async
#
create_test_entitlement(application: SnowflakeishOr[PartialApplication], /, *, sku: SnowflakeishOr[SKU], owner_id: Union[PartialGuild, PartialUser, Snowflakeish], owner_type: Union[int, EntitlementOwnerType]) -> Entitlement
Create a test entitlement for a given SKU.
.. note:: The created entitlement is only partial and the subscription_id
, starts_at
and ends_at
fields will be None
.
PARAMETER | DESCRIPTION |
---|---|
application | The application to create the entitlement for. TYPE: |
sku | The SKU to create a test entitlement for. TYPE: |
owner_id | The ID of the owner of the entitlement. TYPE: |
owner_type | The type of the owner of the entitlement. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Entitlement | The created partial entitlement. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the SKU or owner was not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_thread async
#
create_thread(channel: SnowflakeishOr[PermissibleGuildChannel], type: Union[ChannelType, int], name: str, /, *, auto_archive_duration: UndefinedOr[Intervalish] = datetime.timedelta(days=1), invitable: UndefinedOr[bool] = undefined.UNDEFINED, rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> GuildThreadChannel
Create a thread in a guild channel.
Warning
Private and public threads can only be made in guild text channels, and news threads can only be made in guild news channels.
PARAMETER | DESCRIPTION |
---|---|
channel | Object or ID of the guild news or text channel to create a thread in. |
type | The thread type to create. TYPE: |
name | Name of the thread channel. TYPE: |
auto_archive_duration | If provided, how long the thread should remain inactive until it's archived. 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 TYPE: |
invitable | If provided, whether non-moderators should be able to add other non-moderators to the thread. This only applies to private threads. TYPE: |
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: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
GuildThreadChannel | The created thread channel. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_voice_event async
#
create_voice_event(guild: SnowflakeishOr[PartialGuild], channel: SnowflakeishOr[PartialChannel], name: str, /, start_time: datetime, *, description: UndefinedOr[str] = undefined.UNDEFINED, end_time: UndefinedOr[datetime] = undefined.UNDEFINED, image: UndefinedOr[Resourceish] = undefined.UNDEFINED, privacy_level: Union[int, EventPrivacyLevel] = scheduled_events.EventPrivacyLevel.GUILD_ONLY, reason: UndefinedOr[str] = undefined.UNDEFINED) -> ScheduledVoiceEvent
Create a scheduled voice event.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to create the event in. TYPE: |
channel | The voice channel to create the event in. TYPE: |
name | The name of the event. TYPE: |
start_time | When the event is scheduled to start. TYPE: |
description | The event's description. TYPE: |
end_time | When the event should be scheduled to end. TYPE: |
image | The event's display image. TYPE: |
privacy_level | The event's privacy level. This effects who can view and subscribe to the event. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
ScheduledVoiceEvent | The created scheduled voice event. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing permissions to create the scheduled event. You need the following permissions in the target voice channel: |
NotFoundError | If the guild or event is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
create_webhook async
#
create_webhook(channel: SnowflakeishOr[WebhookChannelT], name: str, *, avatar: UndefinedOr[Resourceish] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> IncomingWebhook
Create webhook in a channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel where the webhook will be created. This may be the object or the ID of an existing channel. TYPE: |
name | The name for the webhook. This cannot be TYPE: |
avatar | If provided, the avatar for the webhook. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
IncomingWebhook | The created webhook. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If |
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the channel is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
crosspost_message async
#
crosspost_message(channel: SnowflakeishOr[GuildNewsChannel], message: SnowflakeishOr[PartialMessage]) -> Message
Broadcast an announcement message.
PARAMETER | DESCRIPTION |
---|---|
channel | The object or ID of the news channel to crosspost a message in. TYPE: |
message | The object or ID of the message to crosspost. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Message | The message object that was crossposted. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If you tried to crosspost a message that has already been broadcast. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you try to crosspost a message by the current user without the |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_all_reactions async
#
delete_all_reactions(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage]) -> None
Delete all reactions from a message.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel where the message to delete all reactions from is. This may be the object or the ID of an existing channel. TYPE: |
message | The message to delete all reaction from. This may be the object or the ID of an existing message. TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If an invalid unicode emoji is given, or if the given custom emoji does not exist. |
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_all_reactions_for_emoji async
#
delete_all_reactions_for_emoji(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage], emoji: Union[str, Emoji], emoji_id: UndefinedOr[SnowflakeishOr[CustomEmoji]] = undefined.UNDEFINED) -> None
Delete all reactions for a single emoji on a given message.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel where the message to delete the reactions from is. This may be the object or the ID of an existing channel. TYPE: |
message | The message to delete a reactions from. This may be the object or the ID of an existing message. TYPE: |
emoji | Object or name of the emoji to remove all the reactions for. |
emoji_id | ID of the custom emoji to remove all the reactions for. This should only be provided when a custom emoji's name is passed for TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If an invalid unicode emoji is given, or if the given custom emoji does not exist. |
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_application_command async
#
delete_application_command(application: SnowflakeishOr[PartialApplication], command: SnowflakeishOr[PartialCommand], guild: UndefinedOr[SnowflakeishOr[PartialGuild]] = undefined.UNDEFINED) -> None
Delete a registered application command.
PARAMETER | DESCRIPTION |
---|---|
application | Object or ID of the application to delete a command for. TYPE: |
command | Object or ID of the command to delete. TYPE: |
guild | Object or ID of the guild to delete a command for if this is a guild specific command. Leave this as TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you cannot access the provided application's commands. |
NotFoundError | If the provided application or command isn't 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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_application_emoji async
#
delete_application_emoji(application: SnowflakeishOr[PartialApplication], emoji: SnowflakeishOr[CustomEmoji]) -> None
Delete an application emoji.
PARAMETER | DESCRIPTION |
---|---|
application | The application to delete the emoji from. This can be a TYPE: |
emoji | The emoji to delete. This can be a TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are trying to edit an emoji for an application that is not yours. |
NotFoundError | If the application 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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_channel async
#
delete_channel(channel: SnowflakeishOr[PartialChannel], reason: UndefinedOr[str] = undefined.UNDEFINED) -> PartialChannel
Delete a channel in a guild, or close a DM.
Note
For Public servers, the set 'Rules' or 'Guidelines' channels and the 'Public Server Updates' channel cannot be deleted.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to delete. This may be the object or the ID of an existing channel. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
PartialChannel | Object of the channel that was deleted. |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the channel is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_emoji async
#
delete_emoji(guild: SnowflakeishOr[PartialGuild], emoji: SnowflakeishOr[CustomEmoji], *, reason: UndefinedOr[str] = undefined.UNDEFINED) -> None
Delete an emoji in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to delete the emoji on. This can be a guild object or the ID of an existing guild. TYPE: |
emoji | The emoji to delete. This can be a TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are missing |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_guild async
#
delete_guild(guild: SnowflakeishOr[PartialGuild]) -> None
Delete a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to delete. This may be the object or the ID of an existing guild. TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are not the owner of the guild. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If you own the guild or if you are not in it. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_interaction_response async
#
delete_interaction_response(application: SnowflakeishOr[PartialApplication], token: str) -> None
Delete the initial response of an interaction.
PARAMETER | DESCRIPTION |
---|---|
application | Object or ID of the application to delete a command response for. TYPE: |
token | The interaction's token. TYPE: |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the interaction or response is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_invite async
#
delete_invite(invite: Union[InviteCode, str]) -> Invite
Delete an existing invite.
PARAMETER | DESCRIPTION |
---|---|
invite | The invite to delete. This may be an invite object or the code of an existing invite. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Invite | Object of the invite that was deleted. |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the invite is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_message async
#
delete_message(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage]) -> None
Delete a given message in a given channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to delete the message in. This may be the object or the ID of an existing channel. TYPE: |
message | The message to delete. This may be the object or the ID of an existing message. TYPE: |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_messages async
#
delete_messages(channel: SnowflakeishOr[TextableChannel], messages: Union[SnowflakeishOr[PartialMessage], Iterable[SnowflakeishOr[PartialMessage]], AsyncIterable[SnowflakeishOr[PartialMessage]]], /, *other_messages: SnowflakeishOr[PartialMessage]) -> None
Bulk-delete messages from the channel.
Note
This API endpoint will only be able to delete 100 messages at a time. For anything more than this, multiple requests will be executed one-after-the-other, since the rate limits for this endpoint do not favour more than one request per bucket.
If one message is left over from chunking per 100 messages, or only one message is passed to this coroutine function, then the logic is expected to defer to delete_message
. The implication of this is that the delete_message
endpoint is rate limited by a different bucket with different usage rates.
Warning
This endpoint is not atomic. If an error occurs midway through a bulk delete, you will not be able to revert any changes made up to this point.
Warning
Specifying any messages more than 14 days old will cause the call to fail, potentially with partial completion.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to bulk delete the messages in. This may be the object or the ID of an existing channel. TYPE: |
messages | Either the object/ID of an existing message to delete or an iterable (sync or async) of the objects and/or IDs of existing messages to delete. TYPE: |
*other_messages | The objects and/or IDs of other existing messages to delete. TYPE: |
RAISES | DESCRIPTION |
---|---|
BulkDeleteError | An error containing the messages successfully deleted, and the messages that were not removed. The |
delete_my_reaction async
#
delete_my_reaction(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage], emoji: Union[str, Emoji], emoji_id: UndefinedOr[SnowflakeishOr[CustomEmoji]] = undefined.UNDEFINED) -> None
Delete a reaction that your application user created.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel where the message to delete the reaction from is. This may be the object or the ID of an existing channel. TYPE: |
message | The message to delete a reaction from. This may be the object or the ID of an existing message. TYPE: |
emoji | Object or name of the emoji to remove your reaction for. |
emoji_id | ID of the custom emoji to remove your reaction for. This should only be provided when a custom emoji's name is passed for TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If an invalid unicode emoji is given, or if the given custom emoji does not exist. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_permission_overwrite async
#
delete_permission_overwrite(channel: SnowflakeishOr[GuildChannel], target: Union[PermissionOverwrite, PartialRole, PartialUser, Snowflakeish]) -> None
Delete a custom permission for an entity in a given guild channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to delete a permission overwrite in. This may be the object, or the ID of an existing channel. TYPE: |
target | The channel overwrite to delete. TYPE: |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the channel is not found or the target is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_reaction async
#
delete_reaction(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage], user: SnowflakeishOr[PartialUser], emoji: Union[str, Emoji], emoji_id: UndefinedOr[SnowflakeishOr[CustomEmoji]] = undefined.UNDEFINED) -> None
Delete a reaction from a message.
If you are looking to delete your own applications reaction, use delete_my_reaction
.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel where the message to delete the reaction from is. This may be the object or the ID of an existing channel. TYPE: |
message | The message to delete a reaction from. This may be the object or the ID of an existing message. TYPE: |
user | Object or ID of the user to remove the reaction of. TYPE: |
emoji | Object or name of the emoji to react with. |
emoji_id | ID of the custom emoji to react with. This should only be provided when a custom emoji's name is passed for TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If an invalid unicode emoji is given, or if the given custom emoji does not exist. |
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the channel or message is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_role async
#
delete_role(guild: SnowflakeishOr[PartialGuild], role: SnowflakeishOr[PartialRole]) -> None
Delete a role.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to delete the role in. This may be the object or the ID of an existing guild. TYPE: |
role | The role to delete. This may be the object or the ID of an existing role. TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the guild or role are not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_scheduled_event async
#
delete_scheduled_event(guild: SnowflakeishOr[PartialGuild], event: SnowflakeishOr[ScheduledEvent]) -> None
Delete a scheduled event.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to delete the event from. TYPE: |
event | The scheduled event to delete. TYPE: |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing the |
NotFoundError | If the guild or event is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_stage_instance async
#
delete_stage_instance(channel: SnowflakeishOr[GuildStageChannel]) -> None
Delete the stage instance.
PARAMETER | DESCRIPTION |
---|---|
channel | The guild stage channel to fetch the stage instance from. TYPE: |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the interaction or response is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
RateLimitedError | Usually, Hikari will handle and retry on hitting rate-limits automatically. This includes most bucket-specific rate-limits and global rate-limits. In some rare edge cases, however, Discord implements other undocumented rules for rate-limiting, such as limits per attribute. These cannot be detected or handled normally by Hikari due to their undocumented nature, and will trigger this exception if they occur. |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_sticker async
#
delete_sticker(guild: SnowflakeishOr[PartialGuild], sticker: SnowflakeishOr[PartialSticker], *, reason: UndefinedOr[str] = undefined.UNDEFINED) -> None
Delete a sticker in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to delete the sticker on. This can be a guild object or the ID of an existing guild. TYPE: |
sticker | The sticker to delete. This can be a sticker object or the ID of an existing sticker. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are missing |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_template async
#
delete_template(guild: SnowflakeishOr[PartialGuild], template: Union[str, Template]) -> Template
Delete a guild template.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to delete a template in. TYPE: |
template | Object or string code of the template to delete. |
RETURNS | DESCRIPTION |
---|---|
Template | The deleted template's object. |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are not part of the guild. |
NotFoundError | If the guild is not found or you are missing the |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_test_entitlement async
#
delete_test_entitlement(application: SnowflakeishOr[PartialApplication], entitlement: SnowflakeishOr[Entitlement]) -> None
Delete a test entitlement.
PARAMETER | DESCRIPTION |
---|---|
application | The application to delete the entitlement from. TYPE: |
entitlement | The entitlement to delete. TYPE: |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the entitlement was not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_webhook async
#
delete_webhook(webhook: SnowflakeishOr[PartialWebhook], *, token: UndefinedOr[str] = undefined.UNDEFINED) -> None
Delete a webhook.
PARAMETER | DESCRIPTION |
---|---|
webhook | The webhook to delete. This may be the object or the ID of an existing webhook. TYPE: |
token | If provided, the webhook token that will be used to delete the webhook instead of the token the client was initialized with. TYPE: |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you are missing the |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the webhook is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
delete_webhook_message async
#
delete_webhook_message(webhook: Union[ExecutableWebhook, Snowflakeish], token: str, message: SnowflakeishOr[Message], *, thread: Union[UndefinedType, SnowflakeishOr[GuildThreadChannel]] = undefined.UNDEFINED) -> None
Delete a given message in a given channel.
PARAMETER | DESCRIPTION |
---|---|
webhook | The webhook to execute. This may be the object or the ID of an existing webhook. TYPE: |
token | The webhook token. TYPE: |
message | The message to delete. This may be the object or the ID of an existing message. TYPE: |
thread | If provided then the message will be deleted from the target thread within the webhook's channel, otherwise it will be deleted from the webhook's target channel. This is required when trying to delete a thread message. TYPE: |
RAISES | DESCRIPTION |
---|---|
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the webhook or the message are not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_application_command async
#
edit_application_command(application: SnowflakeishOr[PartialApplication], command: SnowflakeishOr[PartialCommand], guild: UndefinedOr[SnowflakeishOr[PartialGuild]] = undefined.UNDEFINED, *, name: UndefinedOr[str] = undefined.UNDEFINED, description: UndefinedOr[str] = undefined.UNDEFINED, options: UndefinedOr[Sequence[CommandOption]] = undefined.UNDEFINED, default_member_permissions: Union[UndefinedType, int, Permissions] = undefined.UNDEFINED, dm_enabled: UndefinedOr[bool] = undefined.UNDEFINED, nsfw: UndefinedOr[bool] = undefined.UNDEFINED) -> PartialCommand
Edit a registered application command.
PARAMETER | DESCRIPTION |
---|---|
application | Object or ID of the application to edit a command for. TYPE: |
command | Object or ID of the command to modify. TYPE: |
guild | Object or ID of the guild to edit a command for if this is a guild specific command. Leave this as TYPE: |
name | The name to set for the command. Leave as TYPE: |
description | The description to set for the command. Leave as TYPE: |
options | A sequence of up to 10 options to set for this command. Leave this as TYPE: |
default_member_permissions | Member permissions necessary to utilize this command by default. If TYPE: |
dm_enabled | Whether this command is enabled in DMs with the bot. This can only be applied to non-guild commands. TYPE: |
RETURNS | DESCRIPTION |
---|---|
PartialCommand | The edited command object. |
RAISES | DESCRIPTION |
---|---|
ForbiddenError | If you cannot access the provided application's commands. |
NotFoundError | If the provided application or command isn't found. |
BadRequestError | If any of the fields that are passed have an invalid value. |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_application_emoji async
#
edit_application_emoji(application: SnowflakeishOr[PartialApplication], emoji: SnowflakeishOr[CustomEmoji], name: str) -> KnownCustomEmoji
Edit an application emoji.
PARAMETER | DESCRIPTION |
---|---|
application | The application to edit the emoji on. This can be a TYPE: |
emoji | The emoji to edit. This can be a TYPE: |
name | The new name for the emoji. TYPE: |
RETURNS | DESCRIPTION |
---|---|
KnownCustomEmoji | The edited emoji. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are trying to edit an emoji for an application that is not yours. |
NotFoundError | If the application 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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_channel async
#
edit_channel(channel: SnowflakeishOr[GuildChannel], /, *, name: UndefinedOr[str] = undefined.UNDEFINED, flags: UndefinedOr[ChannelFlag] = undefined.UNDEFINED, position: UndefinedOr[int] = undefined.UNDEFINED, topic: UndefinedOr[str] = undefined.UNDEFINED, nsfw: UndefinedOr[bool] = undefined.UNDEFINED, bitrate: UndefinedOr[int] = undefined.UNDEFINED, video_quality_mode: UndefinedOr[Union[VideoQualityMode, int]] = undefined.UNDEFINED, user_limit: UndefinedOr[int] = undefined.UNDEFINED, rate_limit_per_user: UndefinedOr[Intervalish] = undefined.UNDEFINED, region: UndefinedNoneOr[Union[VoiceRegion, str]] = undefined.UNDEFINED, permission_overwrites: UndefinedOr[Sequence[PermissionOverwrite]] = undefined.UNDEFINED, parent_category: UndefinedOr[SnowflakeishOr[GuildCategory]] = 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, None] = undefined.UNDEFINED, archived: UndefinedOr[bool] = undefined.UNDEFINED, locked: UndefinedOr[bool] = undefined.UNDEFINED, invitable: UndefinedOr[bool] = undefined.UNDEFINED, auto_archive_duration: UndefinedOr[Intervalish] = undefined.UNDEFINED, applied_tags: UndefinedOr[SnowflakeishSequence[ForumTag]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> PartialChannel
Edit a channel.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to edit. This may be the object or the ID of an existing channel. TYPE: |
name | If provided, the new name for the channel. TYPE: |
flags | If provided, the new channel flags to use for the channel. This can only be used on a forum channel to apply TYPE: |
position | If provided, the new position for the channel. TYPE: |
topic | If provided, the new topic for the channel. TYPE: |
nsfw | If provided, whether the channel should be marked as NSFW or not. TYPE: |
bitrate | If provided, the new bitrate for the channel. TYPE: |
video_quality_mode | If provided, the new video quality mode for the channel. TYPE: |
user_limit | If provided, the new user limit in the channel. TYPE: |
rate_limit_per_user | If provided, the new rate limit per user in the channel. TYPE: |
region | If provided, the voice region to set for this channel. Passing TYPE: |
permission_overwrites | If provided, the new permission overwrites for the channel. TYPE: |
parent_category | If provided, the new guild category for the channel. TYPE: |
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 TYPE: |
default_thread_rate_limit_per_user | If provided, the ratelimit that should be set in threads derived from this channel. This only applies to forum channels. TYPE: |
default_forum_layout | If provided, the default forum layout to show in the client. TYPE: |
default_sort_order | If provided, the default sort order to show in the client. TYPE: |
available_tags | If provided, the new available tags to select from when creating a thread. This only applies to forum channels. TYPE: |
default_reaction_emoji | If provided, the new default reaction emoji for threads created in a forum channel. This only applies to forum channels. TYPE: |
archived | If provided, the new archived state for the thread. This only applies to threads. TYPE: |
locked | If provided, the new locked state for the thread. This only applies to threads. If it's locked then only people with TYPE: |
invitable | If provided, the new setting for whether non-moderators can invite new members to a private thread. This only applies to threads. TYPE: |
auto_archive_duration | If provided, the new auto archive duration for this thread. This only applies to threads. This should be either 60, 1440, 4320 or 10080 minutes, as of writing. TYPE: |
applied_tags | If provided, the new tags to apply to the thread. This only applies to threads in a forum channel. TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
PartialChannel | The edited channel. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
ForbiddenError | If you are missing permissions to edit the channel. |
NotFoundError | If the channel is not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_emoji async
#
edit_emoji(guild: SnowflakeishOr[PartialGuild], emoji: SnowflakeishOr[CustomEmoji], *, name: UndefinedOr[str] = undefined.UNDEFINED, roles: UndefinedOr[SnowflakeishSequence[PartialRole]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> KnownCustomEmoji
Edit an emoji in a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to edit the emoji on. This can be a guild object or the ID of an existing guild. TYPE: |
emoji | The emoji to edit. This can be a TYPE: |
name | If provided, the new name for the emoji. TYPE: |
roles | If provided, the new collection of roles that will be able to use this emoji. This can be a TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
KnownCustomEmoji | The edited emoji. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_guild async
#
edit_guild(guild: SnowflakeishOr[PartialGuild], *, 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[Union[str, GuildFeature]]] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> RESTGuild
Edit a guild.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to edit. This may be the object or the ID of an existing guild. TYPE: |
name | If provided, the new name for the guild. TYPE: |
verification_level | If provided, the new verification level. TYPE: |
default_message_notifications | If provided, the new default message notifications level. TYPE: |
explicit_content_filter_level | If provided, the new explicit content filter level. TYPE: |
afk_channel | If provided, the new afk channel. Requires TYPE: |
afk_timeout | If provided, the new afk timeout. TYPE: |
icon | If provided, the new guild icon. Must be a 1024x1024 image or can be an animated gif when the guild has the TYPE: |
owner | If provided, the new guild owner. Warning You need to be the owner of the server to use this. TYPE: |
splash | If provided, the new guild splash. Must be a 16:9 image and the guild must have the TYPE: |
banner | If provided, the new guild banner. Must be a 16:9 image and the guild must have the TYPE: |
system_channel | If provided, the new system channel. TYPE: |
rules_channel | If provided, the new rules channel. TYPE: |
public_updates_channel | If provided, the new public updates channel. TYPE: |
preferred_locale | If provided, the new preferred locale. TYPE: |
features | If provided, the guild features to be enabled. Features not provided will be disabled. .. warning:: At the time of writing, Discord ignores non- TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
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 |
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 |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_interaction_response async
#
edit_interaction_response(application: SnowflakeishOr[PartialApplication], token: str, content: UndefinedNoneOr[Any] = undefined.UNDEFINED, *, attachment: UndefinedNoneOr[Union[Resourceish, Attachment]] = undefined.UNDEFINED, attachments: UndefinedNoneOr[Sequence[Union[Resourceish, Attachment]]] = undefined.UNDEFINED, component: UndefinedNoneOr[ComponentBuilder] = undefined.UNDEFINED, components: UndefinedNoneOr[Sequence[ComponentBuilder]] = undefined.UNDEFINED, embed: UndefinedNoneOr[Embed] = undefined.UNDEFINED, embeds: UndefinedNoneOr[Sequence[Embed]] = undefined.UNDEFINED, mentions_everyone: UndefinedOr[bool] = undefined.UNDEFINED, user_mentions: UndefinedOr[Union[SnowflakeishSequence[PartialUser], bool]] = undefined.UNDEFINED, role_mentions: UndefinedOr[Union[SnowflakeishSequence[PartialRole], bool]] = undefined.UNDEFINED) -> Message
Edit the initial response to a command interaction.
Note
Mentioning everyone, roles, or users in message edits currently will not send a push notification showing a new mention to people on Discord. It will still highlight in their chat as if they were mentioned, however.
Also important to note that if you specify a text content
, mentions_everyone
, mentions_reply
, user_mentions
, and role_mentions
will default to False
as the message will be re-parsed for mentions. This will also occur if only one of the four are specified
This is a limitation of Discord's design. If in doubt, specify all four of them each time.
PARAMETER | DESCRIPTION |
---|---|
application | Object or ID of the application to edit a command response for. TYPE: |
token | The interaction's token. TYPE: |
content | If provided, the message content to update with. If Any other value will be cast to a If this is a TYPE: |
attachment | If provided, the attachment to set on the message. If TYPE: |
attachments | If provided, the attachments to set on the message. If TYPE: |
component | If provided, builder object of the component to set for this message. This component will replace any previously set components and passing TYPE: |
components | If provided, a sequence of the component builder objects set for this message. These components will replace any previously set components and passing TYPE: |
embed | If provided, the embed to set on the message. If TYPE: |
embeds | If provided, the embeds to set on the message. If TYPE: |
mentions_everyone | If provided, whether the message should parse @everyone/@here mentions. TYPE: |
user_mentions | If provided, and TYPE: |
role_mentions | If provided, and TYPE: |
RETURNS | DESCRIPTION |
---|---|
Message | The edited message. |
RAISES | DESCRIPTION |
---|---|
ValueError | If both |
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; too many components. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the interaction or the message are not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_member async
#
edit_member(guild: SnowflakeishOr[PartialGuild], user: SnowflakeishOr[PartialUser], *, nickname: UndefinedNoneOr[str] = undefined.UNDEFINED, nick: UndefinedNoneOr[str] = undefined.UNDEFINED, roles: UndefinedOr[SnowflakeishSequence[PartialRole]] = undefined.UNDEFINED, mute: UndefinedOr[bool] = undefined.UNDEFINED, deaf: UndefinedOr[bool] = undefined.UNDEFINED, voice_channel: UndefinedNoneOr[SnowflakeishOr[GuildVoiceChannel]] = undefined.UNDEFINED, communication_disabled_until: UndefinedNoneOr[datetime] = undefined.UNDEFINED, reason: UndefinedOr[str] = undefined.UNDEFINED) -> Member
Edit a guild member.
PARAMETER | DESCRIPTION |
---|---|
guild | The guild to edit. This may be the object or the ID of an existing guild. TYPE: |
user | The user to edit. This may be the object or the ID of an existing user. TYPE: |
nickname | If provided, the new nick for the member. If Requires the TYPE: |
roles | If provided, the new roles for the member. Requires the TYPE: |
mute | If provided, the new server mute state for the member. Requires the TYPE: |
deaf | If provided, the new server deaf state for the member. Requires the TYPE: |
voice_channel | If provided, Requires the Note If the member is not in a voice channel, this will take no effect. TYPE: |
communication_disabled_until | If provided, the datetime when the timeout (disable communication) of the member expires, up to 28 days in the future, or Requires the TYPE: |
reason | If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters. TYPE: |
RETURNS | DESCRIPTION |
---|---|
Member | Object of the member that was updated. |
RAISES | DESCRIPTION |
---|---|
BadRequestError | If any of the fields that are passed have an invalid value. |
ForbiddenError | If you are missing a permission to do an action. |
UnauthorizedError | If you are unauthorized to make the request (invalid/missing token). |
NotFoundError | If the guild or the user are not found. |
RateLimitTooLongError | Raised in the event that a rate limit occurs that is longer than |
InternalServerError | If an internal error occurs on Discord while handling the request. |
edit_message async
#
edit_message(channel: SnowflakeishOr[TextableChannel], message: SnowflakeishOr[PartialMessage], content: UndefinedOr[Any] = undefined.UNDEFINED, *, attachment: UndefinedNoneOr[Union[Resourceish, Attachment]] = undefined.UNDEFINED, attachments: UndefinedNoneOr[Sequence[Union[Resourceish, Attachment]]] = undefined.UNDEFINED, component: UndefinedNoneOr[ComponentBuilder] = undefined.UNDEFINED, components: UndefinedNoneOr[Sequence[ComponentBuilder]] = undefined.UNDEFINED, embed: UndefinedNoneOr[Embed] = undefined.UNDEFINED, embeds: UndefinedNoneOr[Sequence[Embed]] = 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
Edit an existing message in a given channel.
Warning
If the message was not sent by your user, the only parameter you may provide to this call is the flags
parameter. Anything else will result in a hikari.errors.ForbiddenError
being raised.
Note
Mentioning everyone, roles, or users in message edits currently will not send a push notification showing a new mention to people on Discord. It will still highlight in their chat as if they were mentioned, however.
Also important to note that if you specify a text content
, mentions_everyone
, mentions_reply
, user_mentions
, and role_mentions
will default to False
as the message will be re-parsed for mentions. This will also occur if only one of the four are specified
This is a limitation of Discord's design. If in doubt, specify all four of them each time.
PARAMETER | DESCRIPTION |
---|---|
channel | The channel to create the message in. This may be the object or the ID of an existing channel. TYPE: |
message | The message to edit. This may be the object or the ID of an existing message. TYPE: |
content | If provided, the message content to update with. If Any other value will be cast to a If this is a |