hikari.api.rest#
Provides an interface for REST API implementations to follow.
Module Contents#
- class hikari.api.rest.RESTClient[source]#
Bases:
hikari.traits.NetworkSettingsAware
,abc.ABC
Interface for functionality that a REST API implementation provides.
- abstract property entity_factory: hikari.api.entity_factory.EntityFactory[source]#
Entity factory used by this REST client.
- abstract property token_type: str | hikari.applications.TokenType | None[source]#
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.
- abstract async add_reaction(channel, message, emoji, emoji_id=undefined.UNDEFINED)[source]#
Add a reaction emoji to a message in a given channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel where the message to add the reaction to is. This may be a
hikari.channels.TextableChannel
or the ID of an existing channel.- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to add a reaction to. This may be the object or the ID of an existing message.
- emoji
typing.Union
[str
,hikari.emojis.Emoji
] Object or name of the emoji to react with.
- channel
- Other Parameters:
- emoji_id
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
]] ID of the custom emoji to react with. This should only be provided when a custom emoji’s name is passed for
emoji
.
- emoji_id
- Raises:
hikari.errors.BadRequestError
If an invalid unicode emoji is given, or if the given custom emoji does not exist.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
ADD_REACTIONS
(this is only necessary if you are the first person to add the reaction).hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async add_role_to_member(guild, user, role, *, reason=undefined.UNDEFINED)[source]#
Add a role to a member.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild where the member is in. This may be the object or the ID of an existing guild.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to add the role to. This may be the object or the ID of an existing user.
- role
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialRole
] The role to add. This may be the object or the ID of an existing role.
- guild
- Other Parameters:
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- reason
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_ROLES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild, user or role are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async add_thread_member(channel, user, /)[source]#
Add a user to a thread channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildTextChannel
] Object or ID of the thread channel to add a member to.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] Object or ID of the user to add to the thread.
- channel
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you cannot add a user to this thread.
hikari.errors.NotFoundError
If the thread channel doesn’t exist.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async add_user_to_guild(access_token, guild, user, *, nickname=undefined.UNDEFINED, roles=undefined.UNDEFINED, mute=undefined.UNDEFINED, deaf=undefined.UNDEFINED)[source]#
Add a user to a guild.
Note
This requires the
access_token
to have thehikari.applications.OAuth2Scope.GUILDS_JOIN
scope enabled along with the authorization of a Bot which hasMANAGE_INVITES
permission within the target guild.- Parameters:
- access_token
typing.Union
[str
,hikari.applications.PartialOAuth2Token
] Object or string of the access token to use for this request.
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to add the user to. This may be the object or the ID of an existing guild.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to add to the guild. This may be the object or the ID of an existing user.
- access_token
- Other Parameters:
- nickname
hikari.undefined.UndefinedOr
[str
] If provided, the nick to add to the user when he joins the guild.
Requires the
MANAGE_NICKNAMES
permission on the guild.- roles
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
]] 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
MANAGE_ROLES
permission on the guild.- mute
hikari.undefined.UndefinedOr
[bool] If provided, the mute state to add the user when he joins the guild.
Requires the
MUTE_MEMBERS
permission on the guild.- deaf
hikari.undefined.UndefinedOr
[bool] If provided, the deaf state to add the user when he joins the guild.
Requires the
DEAFEN_MEMBERS
permission on the guild.
- nickname
- Returns:
typing.Optional
[hikari.guilds.Member
]None
if the user was already part of the guild, elsehikari.guilds.Member
.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.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
hikari.applications.OAuth2Scope.GUILDS_JOIN
scope enabled.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If you own the guild or the user is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async authorize_access_token(client, client_secret, code, redirect_uri)[source]#
Authorize an OAuth2 token using the authorize code grant type.
- Parameters:
- client
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to authorize with.
- client_secret
str
Secret of the application to authorize with.
- code
str
The authorization code to exchange for an OAuth2 access token.
- redirect_uri
str
The redirect uri that was included in the authorization request.
- client
- Returns:
hikari.applications.OAuth2AuthorizationToken
Object of the authorized OAuth2 token.
- Raises:
hikari.errors.BadRequestError
If an invalid redirect uri or code is passed.
hikari.errors.UnauthorizedError
When an client or client secret is passed.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async authorize_client_credentials_token(client, client_secret, scopes)[source]#
Authorize a client credentials token for an application.
- Parameters:
- client
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to authorize as.
- client_secret
str
Secret of the application to authorize as.
- scopes
typing.Sequence
[typing.Union
[hikari.applications.OAuth2Scope
,str
]] The scopes to authorize for.
- client
- Returns:
hikari.applications.PartialOAuth2Token
Object of the authorized partial OAuth2 token.
- Raises:
hikari.errors.BadRequestError
If invalid any invalid or malformed scopes are passed.
hikari.errors.UnauthorizedError
When an client or client secret is passed.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async ban_member(guild, user, *, delete_message_seconds=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Alias of
ban_user
.
- abstract async ban_user(guild, user, *, delete_message_seconds=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Ban the given user from this guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to ban the member from. This may be the object or the ID of an existing guild.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to kick. This may be the object or the ID of an existing user.
- guild
- Other Parameters:
- delete_message_seconds
hikari.undefined.UndefinedNoneOr
[hikari.internal.time.Intervalish
] If provided, the number of seconds to delete messages for. This can be represented as either an int/float between 0 and 604800 (7 days), or a
datetime.timedelta
object.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- delete_message_seconds
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
BAN_MEMBERS
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild or user are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async begin_guild_prune(guild, *, days=undefined.UNDEFINED, compute_prune_count=undefined.UNDEFINED, include_roles=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Begin the guild prune.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to begin the guild prune in. This may be the object or the ID of an existing guild.
- guild
- Other Parameters:
- days
hikari.undefined.UndefinedOr
[int
] If provided, number of days to count prune for.
- compute_prune_count
hikari.snowflakes.SnowflakeishOr
[bool] If provided, whether to return the prune count. This is discouraged for large guilds.
- include_roles
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
]] 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.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- days
- Returns:
typing.Optional
[int
]If
compute_prune_count
is not provided orTrue
, the number of members pruned. ElseNone
.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
KICK_MEMBERS
permission.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract build_message_action_row()[source]#
Build a message action row message component for use in message create and REST calls.
- Returns:
hikari.api.special_endpoints.MessageActionRowBuilder
The initialised action row builder.
- abstract build_modal_action_row()[source]#
Build an action row modal component for use in interactions and REST calls.
- Returns:
hikari.api.special_endpoints.ModalActionRowBuilder
The initialised action row builder.
Create a command builder to use in
RESTClient.set_application_commands
.- Parameters:
- type
commands.CommandType
The commands’s type.
- name
str
The command’s name.
- type
- Returns:
hikari.api.special_endpoints.ContextMenuCommandBuilder
The created command builder object.
- abstract async create_autocomplete_response(interaction, token, choices)[source]#
Create the initial response for an autocomplete interaction.
- Parameters:
- interaction
hikari.snowflakes.SnowflakeishOr
[hikari.interactions.base_interactions.PartialInteraction
] Object or ID of the interaction this response is for.
- token
str
The command interaction’s token.
- choices
typing.Sequence
[hikari.api.special_endpoints.AutocompleteChoiceBuilder
] The autocomplete choices themselves.
- interaction
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the interaction is not found or if the interaction’s initial response has already been created.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
Create an application command.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to create a command for.
- type
typing.Union
[hikari.commands.CommandType
,int
] The type of menu command to make.
Only USER and MESSAGE are valid here.
- name
str
The command’s name. This should match the regex
^[-_p{L}p{N}p{sc=Deva}p{sc=Thai}]{1,32}$
in Unicode mode and be lowercase.
- application
- Other Parameters:
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] Object or ID of the specific guild this should be made for. If left as
hikari.undefined.UNDEFINED
then this call will create a global command rather than a guild specific one.- name_localizations
hikari.undefined.UndefinedOr
[typing.Mapping
[typing.Union
[hikari.locales.Locale
,str
],str
]] The name localizations for this command.
- default_member_permissions
typing.Union
[hikari.undefined.UndefinedType
,int
,hikari.permissions.Permissions
] Member permissions necessary to utilize this command by default.
If
0
, then it will be available for all members. Note that this doesn’t affect administrators of the guild and overwrites.- dm_enabled
hikari.undefined.UndefinedOr
[bool] Whether this command is enabled in DMs with the bot.
This can only be applied to non-guild commands.
- nsfw
hikari.undefined.UndefinedOr
[bool] Whether this command should be age-restricted.
- guild
- Returns:
hikari.commands.ContextMenuCommand
Object of the created command.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the provided application’s commands.
hikari.errors.NotFoundError
If the provided application isn’t found.
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_dm_channel(user, /)[source]#
Create a DM channel with a user.
- Parameters:
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to create the DM channel with. This may be the object or the ID of an existing user.
- user
- Returns:
hikari.channels.DMChannel
The created DM channel.
- Raises:
hikari.errors.BadRequestError
If the user is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_emoji(guild, name, image, *, roles=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create an emoji in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the emoji on. This can be a guild object or the ID of an existing guild.
- name
str
The name for the emoji.
- image
hikari.files.Resourceish
The 128x128 image for the emoji. Maximum upload size is 256kb. This can be a still or an animated image.
- guild
- Other Parameters:
- roles
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
]] If provided, a collection of the roles that will be able to use this emoji. This can be a
hikari.guilds.PartialRole
or the ID of an existing role.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- roles
- Returns:
hikari.emojis.KnownCustomEmoji
The created emoji.
- Raises:
hikari.errors.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.
hikari.errors.ForbiddenError
If you are missing
MANAGE_EMOJIS_AND_STICKERS
in the server.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_external_event(guild, name, /, location, start_time, end_time, *, description=undefined.UNDEFINED, image=undefined.UNDEFINED, privacy_level=scheduled_events.EventPrivacyLevel.GUILD_ONLY, reason=undefined.UNDEFINED)[source]#
Create a scheduled external event.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the event in.
- name
str
The name of the event.
- location
str
The location the event.
- start_time
datetime.datetime
When the event is scheduled to start.
- end_time
datetime.datetime
When the event is scheduled to end.
- guild
- Other Parameters:
- description
hikari.undefined.UndefinedOr
[str
] The event’s description.
- image
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] The event’s display image.
- privacy_level
hikari.undefined.UndefinedOr
[hikari.scheduled_events.EventPrivacyLevel
] The event’s privacy level.
This effects who can view and subscribe to the event.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- description
- Returns:
hikari.scheduled_events.ScheduledExternalEvent
The created scheduled external event.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_EVENTS
permission.hikari.errors.NotFoundError
If the guild or event is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_forum_post(channel, name, /, content=undefined.UNDEFINED, *, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, sticker=undefined.UNDEFINED, stickers=undefined.UNDEFINED, tts=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, mentions_reply=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED, flags=undefined.UNDEFINED, auto_archive_duration=datetime.timedelta(days=1), rate_limit_per_user=undefined.UNDEFINED, tags=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a post in a forum channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PermissibleGuildChannel
] Object or ID of the forum channel to create a post in.
- name
str
Name of the post.
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message contents. If
hikari.undefined.UNDEFINED
, then nothing will be sent in the content. Any other value here will be cast to astr
.If this is a
hikari.embeds.Embed
and noembed
norembeds
kwarg is provided, then this will instead update the embed. This allows for simpler syntax when sending an embed alone.Likewise, if this is a
hikari.files.Resource
, then the content is instead treated as an attachment if noattachment
and noattachments
kwargs are provided.
- channel
- Other Parameters:
- attachment
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] 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.
- If a
pathlib.PurePath
orstr
to a valid URL, the resource at the given URL will be streamed to Discord when sending the message. Subclasses of
hikari.files.WebResource
such ashikari.files.URL
,hikari.messages.Attachment
,hikari.emojis.Emoji
,EmbedResource
, etc will also be uploaded this way. This will use bit-inception, so only a small percentage of the resource will remain in memory at any one time, thus aiding in scalability.
- If a
- If a
hikari.files.Bytes
is passed, or astr
that contains a valid data URI is passed, then this is uploaded with a randomized file name if not provided.
- If a
- If a
hikari.files.File
,pathlib.PurePath
or str
that is an absolute or relative path to a file on your file system is passed, then this resource is uploaded as an attachment using non-blocking code internally and streamed using bit-inception where possible. This depends on the type ofconcurrent.futures.Executor
that is being used for the application (default is a thread pool which supports this behaviour).
- If a
- attachments
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.files.Resourceish
]] If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs.
- component
hikari.undefined.UndefinedOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to include in this message.
- components
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects to include in this message.
- embed
hikari.undefined.UndefinedOr
[hikari.embeds.Embed
] If provided, the message embed.
- embeds
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the message embeds.
- sticker
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialSticker
]] 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.
- stickers
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.stickers.PartialSticker
]] 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.
- tts
hikari.undefined.UndefinedOr
[bool] If provided, whether the message will be read out by a screen reader using Discord’s TTS (text-to-speech) system.
- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, whether the message should parse @everyone/@here mentions.
- mentions_reply
hikari.undefined.UndefinedOr
[bool] If provided, whether to mention the author of the message that is being replied to.
This will not do anything if not being used with
reply
.- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, and
True
, all user mentions will be detected. If provided, andFalse
, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.users.PartialUser
derivatives to enforce mentioning specific users.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, and
True
, all role mentions will be detected. If provided, andFalse
, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.guilds.PartialRole
derivatives to enforce mentioning specific roles.- flags
hikari.undefined.UndefinedOr
[hikari.messages.MessageFlag
] If provided, optional flags to set on the message. If
hikari.undefined.UNDEFINED
, then nothing is changed.Note that some flags may not be able to be set. Currently the only flags that can be set are
NONE
andSUPPRESS_EMBEDS
.- auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] 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
hikari.undefined.UNDEFINED
.- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.
- tags
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.ForumTag
]]] If provided, the tags to add to the created post.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- attachment
- Returns:
hikari.channels.GuildPublicThread
The created post.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
SEND_MESSAGES
permission in the channel.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_category(guild, name, *, position=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a category in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the channel in. This may be the object or the ID of an existing guild.
- name
str
The channels name. Must be between 2 and 1000 characters.
- guild
- Other Parameters:
- position
hikari.undefined.UndefinedOr
[int
] If provided, the position of the category.
- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the permission overwrites for the category.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- position
- Returns:
hikari.channels.GuildCategory
The created category.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_forum_channel(guild, name, *, position=undefined.UNDEFINED, category=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, topic=undefined.UNDEFINED, nsfw=undefined.UNDEFINED, rate_limit_per_user=undefined.UNDEFINED, default_auto_archive_duration=undefined.UNDEFINED, default_thread_rate_limit_per_user=undefined.UNDEFINED, default_forum_layout=undefined.UNDEFINED, default_sort_order=undefined.UNDEFINED, available_tags=undefined.UNDEFINED, default_reaction_emoji=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a forum channel in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the channel in. This may be the object or the ID of an existing guild.
- name
str
The channels name. Must be between 2 and 1000 characters.
- guild
- Other Parameters:
- position
hikari.undefined.UndefinedOr
[int
] If provided, the position of the category.
- category
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildCategory
]] The category to create the channel under. This may be the object or the ID of an existing category.
- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the permission overwrites for the category.
- topic
hikari.undefined.UndefinedOr
[str
] If provided, the channels topic. Maximum 1024 characters.
- nsfw
hikari.undefined.UndefinedOr
[bool] If provided, whether to mark the channel as NSFW.
- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.
- default_auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the auto archive duration Discord’s end user client should default to when creating threads in this channel.
This should be either 60, 1440, 4320 or 10080 minutes and, as of writing, ignores the parent channel’s set default_auto_archive_duration when passed as
hikari.undefined.UNDEFINED
.- default_thread_rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the ratelimit that should be set in threads created from the forum.
- default_forum_layout
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.ForumLayoutType
,int
]] If provided, the default forum layout to show in the client.
- default_sort_order
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.ForumSortOrderType
,int
]] If provided, the default sort order to show in the client.
- available_tags
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.ForumTag
]] If provided, the available tags to select from when creating a thread.
- default_reaction_emoji
typing.Union
[str
,hikari.emojis.Emoji
,hikari.undefined.UndefinedType
,hikari.snowflakes.Snowflake
] If provided, the new default reaction emoji for threads created in a forum channel.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- position
- Returns:
hikari.channels.GuildForumChannel
The created forum channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_from_template(template, name, *, icon=undefined.UNDEFINED)[source]#
Make a guild from a template.
Note
This endpoint can only be used by bots in less than 10 guilds.
- Parameters:
- template
typing.Union
[str
,hikari.templates.Template
] The object or string code of the template to create a guild based on.
- name
str
The new guilds name.
- template
- Other Parameters:
- icon
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] If provided, the guild icon to set. Must be a 1024x1024 image or can be an animated gif when the guild has the
ANIMATED_ICON
feature.
- icon
- Returns:
hikari.guilds.RESTGuild
Object of the created guild.
- Raises:
hikari.errors.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.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_news_channel(guild, name, *, position=undefined.UNDEFINED, topic=undefined.UNDEFINED, nsfw=undefined.UNDEFINED, rate_limit_per_user=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, category=undefined.UNDEFINED, default_auto_archive_duration=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a news channel in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the channel in. This may be the object or the ID of an existing guild.
- name
str
The channels name. Must be between 2 and 1000 characters.
- guild
- Other Parameters:
- position
hikari.undefined.UndefinedOr
[int
] If provided, the position of the channel (relative to the category, if any).
- topic
hikari.undefined.UndefinedOr
[str
] If provided, the channels topic. Maximum 1024 characters.
- nsfw
hikari.undefined.UndefinedOr
[bool] If provided, whether to mark the channel as NSFW.
- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.
- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the permission overwrites for the channel.
- category
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildCategory
]] The category to create the channel under. This may be the object or the ID of an existing category.
- default_auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the auto archive duration Discord’s end user client should default to when creating threads in this channel.
This should be either 60, 1440, 4320 or 10080 minutes and, as of writing, ignores the parent channel’s set default_auto_archive_duration when passed as
hikari.undefined.UNDEFINED
.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- position
- Returns:
hikari.channels.GuildNewsChannel
The created channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_stage_channel(guild, name, *, position=undefined.UNDEFINED, user_limit=undefined.UNDEFINED, bitrate=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, region=undefined.UNDEFINED, category=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a stage channel in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the channel in. This may be the object or the ID of an existing guild.
- name
str
The channel’s name. Must be between 2 and 1000 characters.
- guild
- Other Parameters:
- position
hikari.undefined.UndefinedOr
[int
] If provided, the position of the channel (relative to the category, if any).
- user_limit
hikari.undefined.UndefinedOr
[int
] If provided, the maximum users in the channel at once. Must be between 0 and 99 with 0 meaning no limit.
- bitrate
hikari.undefined.UndefinedOr
[int
] If provided, the bitrate for the channel. Must be between 8000 and 96000 or 8000 and 128000 for VIP servers.
- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the permission overwrites for the channel.
- region
hikari.undefined.UndefinedOr
[typing.Union
[hikari.voices.VoiceRegion
,str
]] If provided, the voice region to for this channel. Passing
None
here will set it to “auto” mode where the used region will be decided based on the first person who connects to it when it’s empty.- category
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildCategory
]] The category to create the channel under. This may be the object or the ID of an existing category.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- position
- Returns:
hikari.channels.GuildStageChannel
The created channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_text_channel(guild, name, *, position=undefined.UNDEFINED, topic=undefined.UNDEFINED, nsfw=undefined.UNDEFINED, rate_limit_per_user=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, category=undefined.UNDEFINED, default_auto_archive_duration=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a text channel in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the channel in. This may be the object or the ID of an existing guild.
- name
str
The channels name. Must be between 2 and 1000 characters.
- guild
- Other Parameters:
- position
hikari.undefined.UndefinedOr
[int
] If provided, the position of the channel (relative to the category, if any).
- topic
hikari.undefined.UndefinedOr
[str
] If provided, the channels topic. Maximum 1024 characters.
- nsfw
hikari.undefined.UndefinedOr
[bool] If provided, whether to mark the channel as NSFW.
- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.
- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the permission overwrites for the channel.
- category
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildCategory
]] The category to create the channel under. This may be the object or the ID of an existing category.
- default_auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the auto archive duration Discord’s end user client should default to when creating threads in this channel.
This should be either 60, 1440, 4320 or 10080 minutes and, as of writing, ignores the parent channel’s set default_auto_archive_duration when passed as
hikari.undefined.UNDEFINED
.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- position
- Returns:
hikari.channels.GuildTextChannel
The created channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_guild_voice_channel(guild, name, *, position=undefined.UNDEFINED, user_limit=undefined.UNDEFINED, bitrate=undefined.UNDEFINED, video_quality_mode=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, region=undefined.UNDEFINED, category=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a voice channel in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the channel in. This may be the object or the ID of an existing guild.
- name
str
The channels name. Must be between 2 and 1000 characters.
- guild
- Other Parameters:
- position
hikari.undefined.UndefinedOr
[int
] If provided, the position of the channel (relative to the category, if any).
- user_limit
hikari.undefined.UndefinedOr
[int
] If provided, the maximum users in the channel at once. Must be between 0 and 99 with 0 meaning no limit.
- bitrate
hikari.undefined.UndefinedOr
[int
] If provided, the bitrate for the channel. Must be between 8000 and 96000 or 8000 and 128000 for VIP servers.
- video_quality_mode
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.VideoQualityMode
,int
]] If provided, the new video quality mode for the channel.
- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the permission overwrites for the channel.
- region
hikari.undefined.UndefinedOr
[typing.Union
[hikari.voices.VoiceRegion
,str
]] If provided, the voice region to for this channel. Passing
None
here will set it to “auto” mode where the used region will be decided based on the first person who connects to it when it’s empty.- category
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildCategory
]] The category to create the channel under. This may be the object or the ID of an existing category.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- position
- Returns:
hikari.channels.GuildVoiceChannel
The created channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_interaction_response(interaction, token, response_type, content=undefined.UNDEFINED, *, flags=undefined.UNDEFINED, tts=undefined.UNDEFINED, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED)[source]#
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.- Parameters:
- interaction
hikari.snowflakes.SnowflakeishOr
[hikari.interactions.base_interactions.PartialInteraction
] Object or ID of the interaction this response is for.
- token
str
The command interaction’s token.
- response_type
typing.Union
[int
,hikari.interactions.base_interactions.ResponseType
] The type of interaction response this is.
- interaction
- Other Parameters:
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message contents. If
hikari.undefined.UNDEFINED
, then nothing will be sent in the content. Any other value here will be cast to astr
.If this is a
hikari.embeds.Embed
and noembed
nor noembeds
kwarg is provided, then this will instead update the embed. This allows for simpler syntax when sending an embed alone.- attachment
hikari.undefined.UndefinedNoneOr
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]] If provided, the message attachment. This can be a resource, or string of a path on your computer or a URL.
- attachments
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]]] If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs.
- component
hikari.undefined.UndefinedNoneOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to include in this message.
- components
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects to include in this message.
- embed
hikari.undefined.UndefinedNoneOr
[hikari.embeds.Embed
] If provided, the message embed.
- embeds
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the message embeds.
- flags
typing.Union
[int
,hikari.messages.MessageFlag
,hikari.undefined.UndefinedType
] If provided, the message flags this response should have.
As of writing the only message flags which can be set here are
hikari.messages.MessageFlag.EPHEMERAL
,hikari.messages.MessageFlag.SUPPRESS_NOTIFICATIONS
andhikari.messages.MessageFlag.SUPPRESS_EMBEDS
.- tts
hikari.undefined.UndefinedOr
[bool] If provided, whether the message will be read out by a screen reader using Discord’s TTS (text-to-speech) system.
- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, whether the message should parse @everyone/@here mentions.
- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, and
True
, all user mentions will be detected. If provided, andFalse
, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.users.PartialUser
derivatives to enforce mentioning specific users.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, and
True
, all role mentions will be detected. If provided, andFalse
, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.guilds.PartialRole
derivatives to enforce mentioning specific roles.
- content
- Raises:
ValueError
If more than 100 unique objects/entities are passed for
role_mentions
oruser_mentions
.TypeError
If both
embed
andembeds
are specified.hikari.errors.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.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the interaction is not found or if the interaction’s initial response has already been created.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_invite(channel, *, max_age=undefined.UNDEFINED, max_uses=undefined.UNDEFINED, temporary=undefined.UNDEFINED, unique=undefined.UNDEFINED, target_type=undefined.UNDEFINED, target_user=undefined.UNDEFINED, target_application=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create an invite to the given guild channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildChannel
] The channel to create a invite for. This may be the object or the ID of an existing channel.
- channel
- Other Parameters:
- max_age
hikari.undefined.UndefinedOr
[typing.Union
[datetime.timedelta
,float
,int
]] If provided, the duration of the invite before expiry.
- max_uses
hikari.undefined.UndefinedOr
[int
] If provided, the max uses the invite can have.
- temporary
hikari.undefined.UndefinedOr
[bool] If provided, whether the invite only grants temporary membership.
- unique
hikari.undefined.UndefinedOr
[bool] If provided, whether the invite should be unique.
- target_type
hikari.undefined.UndefinedOr
[hikari.invites.TargetType
] If provided, the target type of this invite.
- target_user
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
]] 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
target_type
isSTREAM
and the targeted user must be streaming into the channel.- target_application
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
]] 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
target_type
isEMBEDDED_APPLICATION
and the targeted application must have theEMBEDDED
flag.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- max_age
- Returns:
hikari.invites.InviteWithMetadata
The invite to the given guild channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNELS
permission.hikari.errors.NotFoundError
If the channel is not found, or if the target user does not exist, if provided.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_message(channel, content=undefined.UNDEFINED, *, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, sticker=undefined.UNDEFINED, stickers=undefined.UNDEFINED, tts=undefined.UNDEFINED, reply=undefined.UNDEFINED, reply_must_exist=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, mentions_reply=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED, flags=undefined.UNDEFINED)[source]#
Create a message in the given channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to create the message in.
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message contents. If
hikari.undefined.UNDEFINED
, then nothing will be sent in the content. Any other value here will be cast to astr
.If this is a
hikari.embeds.Embed
and noembed
norembeds
kwarg is provided, then this will instead update the embed. This allows for simpler syntax when sending an embed alone.Likewise, if this is a
hikari.files.Resource
, then the content is instead treated as an attachment if noattachment
and noattachments
kwargs are provided.
- channel
- Other Parameters:
- attachment
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] 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.
- If a
pathlib.PurePath
orstr
to a valid URL, the resource at the given URL will be streamed to Discord when sending the message. Subclasses of
hikari.files.WebResource
such ashikari.files.URL
,hikari.messages.Attachment
,hikari.emojis.Emoji
,EmbedResource
, etc will also be uploaded this way. This will use bit-inception, so only a small percentage of the resource will remain in memory at any one time, thus aiding in scalability.
- If a
- If a
hikari.files.Bytes
is passed, or astr
that contains a valid data URI is passed, then this is uploaded with a randomized file name if not provided.
- If a
- If a
hikari.files.File
,pathlib.PurePath
or str
that is an absolute or relative path to a file on your file system is passed, then this resource is uploaded as an attachment using non-blocking code internally and streamed using bit-inception where possible. This depends on the type ofconcurrent.futures.Executor
that is being used for the application (default is a thread pool which supports this behaviour).
- If a
- attachments
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.files.Resourceish
]] If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs.
- component
hikari.undefined.UndefinedOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to include in this message.
- components
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects to include in this message.
- embed
hikari.undefined.UndefinedOr
[hikari.embeds.Embed
] If provided, the message embed.
- embeds
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the message embeds.
- sticker
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialSticker
]] 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.
- stickers
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.stickers.PartialSticker
]] 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.
- tts
hikari.undefined.UndefinedOr
[bool] If provided, whether the message will be read out by a screen reader using Discord’s TTS (text-to-speech) system.
- reply
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
]] If provided, the message to reply to.
- reply_must_exist
hikari.undefined.UndefinedOr
[bool] If provided, whether to error if the message being replied to does not exist instead of sending as a normal (non-reply) message. Defaults to
True
.This will not do anything if not being used with
reply
.- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, whether the message should parse @everyone/@here mentions.
- mentions_reply
hikari.undefined.UndefinedOr
[bool] If provided, whether to mention the author of the message that is being replied to.
This will not do anything if not being used with
reply
.- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, and
True
, all user mentions will be detected. If provided, andFalse
, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.users.PartialUser
derivatives to enforce mentioning specific users.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, and
True
, all role mentions will be detected. If provided, andFalse
, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.guilds.PartialRole
derivatives to enforce mentioning specific roles.- flags
hikari.undefined.UndefinedOr
[hikari.messages.MessageFlag
] If provided, optional flags to set on the message. If
hikari.undefined.UNDEFINED
, then nothing is changed.Note that some flags may not be able to be set. Currently the only flags that can be set are
SUPPRESS_NOTIFICATIONS
andSUPPRESS_EMBEDS
.
- attachment
- Returns:
hikari.messages.Message
The created message.
- Raises:
ValueError
If more than 100 unique objects/entities are passed for
role_mentions
oruser_mentions
or if bothattachment
andattachments
,component
andcomponents
orembed
andembeds
are specified.hikari.errors.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
reply
is not found or not in the same channel aschannel
; too many components.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
SEND_MESSAGES
in the channel or the person you are trying to message has the DM’s disabled.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_message_thread(channel, message, name, /, *, auto_archive_duration=datetime.timedelta(days=1), rate_limit_per_user=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
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.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PermissibleGuildChannel
] Object or ID of the guild news or text channel to create a public thread in.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] Object or ID of the message to attach the created thread to.
- name
str
Name of the thread channel.
- channel
- Other Parameters:
- auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] 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
hikari.undefined.UNDEFINED
.- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- auto_archive_duration
- Returns:
typing.Union
[hikari.channels.GuildPublicThread
,hikari.channels.GuildNewsThread
]The created public or news thread channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
CREATE_PUBLIC_THREADS
permission or if you can’t send messages in the target channel.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- async create_modal_response(interaction, token, *, title, custom_id, component=undefined.UNDEFINED, components=undefined.UNDEFINED)[source]#
Create a response by sending a modal.
- Parameters:
- interaction
hikari.snowflakes.SnowflakeishOr
[hikari.interactions.base_interactions.PartialInteraction
] Object or ID of the interaction this response is for.
- token
str
The command interaction’s token.
- title
str
The title that will show up in the modal.
- custom_id
str
Developer set custom ID used for identifying interactions with this modal.
- interaction
- Other Parameters:
- component
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] A component builders to send in this modal.
- components
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] A sequence of component builders to send in this modal.
- component
- Raises:
ValueError
If both
component
andcomponents
are specified or if none are specified.
- abstract async create_role(guild, *, name=undefined.UNDEFINED, permissions=undefined.UNDEFINED, color=undefined.UNDEFINED, colour=undefined.UNDEFINED, hoist=undefined.UNDEFINED, icon=undefined.UNDEFINED, unicode_emoji=undefined.UNDEFINED, mentionable=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a role.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the role in. This may be the object or the ID of an existing guild.
- guild
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] If provided, the name for the role.
- permissions
hikari.undefined.UndefinedOr
[hikari.permissions.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.
- color
hikari.undefined.UndefinedOr
[hikari.colors.Colorish
] If provided, the role’s color.
- colour
hikari.undefined.UndefinedOr
[hikari.colors.Colorish
] An alias for
color
.- hoist
hikari.undefined.UndefinedOr
[bool] If provided, whether to hoist the role.
- icon
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] If provided, the role icon. Must be a 64x64 image under 256kb.
- unicode_emoji
hikari.undefined.UndefinedOr
[str
] If provided, the standard emoji to set as the role icon.
- mentionable
hikari.undefined.UndefinedOr
[bool] If provided, whether to make the role mentionable.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- name
- Returns:
hikari.guilds.Role
The created role.
- Raises:
TypeError
If both
color
andcolour
are specified or if bothicon
andunicode_emoji
are specified.hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_ROLES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_slash_command(application, name, description, *, guild=undefined.UNDEFINED, options=undefined.UNDEFINED, name_localizations=undefined.UNDEFINED, description_localizations=undefined.UNDEFINED, default_member_permissions=undefined.UNDEFINED, dm_enabled=undefined.UNDEFINED, nsfw=undefined.UNDEFINED)[source]#
Create an application command.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to create a command for.
- name
str
The command’s name. This should match the regex
^[w-]{1,32}$
in Unicode mode and be lowercase.- description
str
The description to set for the command. This should be inclusively between 1-100 characters in length.
- application
- Other Parameters:
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] Object or ID of the specific guild this should be made for. If left as
hikari.undefined.UNDEFINED
then this call will create a global command rather than a guild specific one.- options
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.commands.CommandOption
]] A sequence of up to 10 options for this command.
- name_localizations
hikari.undefined.UndefinedOr
[typing.Mapping
[typing.Union
[hikari.locales.Locale
,str
],str
]] The name localizations for this command.
- description_localizations
hikari.undefined.UndefinedOr
[typing.Mapping
[typing.Union
[hikari.locales.Locale
,str
],str
]] The description localizations for this command.
- default_member_permissions
typing.Union
[hikari.undefined.UndefinedType
,int
,hikari.permissions.Permissions
] Member permissions necessary to utilize this command by default.
If
0
, then it will be available for all members. Note that this doesn’t affect administrators of the guild and overwrites.- dm_enabled
hikari.undefined.UndefinedOr
[bool] Whether this command is enabled in DMs with the bot.
This can only be applied to non-guild commands.
- nsfw
hikari.undefined.UndefinedOr
[bool] Whether this command should be age-restricted.
- guild
- Returns:
hikari.commands.SlashCommand
Object of the created command.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the provided application’s commands.
hikari.errors.NotFoundError
If the provided application isn’t found.
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_stage_event(guild, channel, name, /, start_time, *, description=undefined.UNDEFINED, end_time=undefined.UNDEFINED, image=undefined.UNDEFINED, privacy_level=scheduled_events.EventPrivacyLevel.GUILD_ONLY, reason=undefined.UNDEFINED)[source]#
Create a scheduled stage event.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the event in.
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PartialChannel
] The stage channel to create the event in.
- name
str
The name of the event.
- start_time
datetime.datetime
When the event is scheduled to start.
- guild
- Other Parameters:
- description
hikari.undefined.UndefinedOr
[str
] The event’s description.
- end_time
hikari.undefined.UndefinedOr
[datetime.datetime
] When the event should be scheduled to end.
- image
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] The event’s display image.
- privacy_level
hikari.undefined.UndefinedOr
[hikari.scheduled_events.EventPrivacyLevel
] The event’s privacy level.
This effects who can view and subscribe to the event.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- description
- Returns:
hikari.scheduled_events.ScheduledStageEvent
The created scheduled stage event.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing permissions to create the scheduled event.
You need the following permissions in the target stage channel:
MANAGE_EVENTS
,VIEW_CHANNEL
andCONNECT
.hikari.errors.NotFoundError
If the guild or event is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_sticker(guild, name, tag, image, *, description=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create a sticker in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the sticker on. This can be a guild object or the ID of an existing guild.
- name
str
The name for the sticker.
- tag
str
The tag for the sticker.
- image
hikari.files.Resourceish
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.
- guild
- Other Parameters:
- description
hikari.undefined.UndefinedOr
[str
] If provided, the description of the sticker.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- description
- Returns:
hikari.stickers.GuildSticker
The created sticker.
- Raises:
hikari.errors.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.
hikari.errors.ForbiddenError
If you are missing
MANAGE_EMOJIS_AND_STICKERS
in the server.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_template(guild, name, *, description=undefined.UNDEFINED)[source]#
Create a guild template.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create a template from.
- name
str
The name to use for the created template.
- guild
- Other Parameters:
- description
hikari.undefined.UndefinedNoneOr
[str
] The description to set for the template.
- description
- Returns:
hikari.templates.Template
The object of the created template.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the guild.
hikari.errors.NotFoundError
If the guild is not found or you are missing the
MANAGE_GUILD
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_thread(channel, type, name, /, *, auto_archive_duration=datetime.timedelta(days=1), invitable=undefined.UNDEFINED, rate_limit_per_user=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
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.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PermissibleGuildChannel
] Object or ID of the guild news or text channel to create a thread in.
- type
typing.Union
[hikari.channels.ChannelType
,int
] The thread type to create.
- name
str
Name of the thread channel.
- channel
- Other Parameters:
- auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] 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
hikari.undefined.UNDEFINED
.- invitable
undefined.UndefinedOr
[bool] If provided, whether non-moderators should be able to add other non-moderators to the thread.
This only applies to private threads.
- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the amount of seconds a user has to wait before being able to send another message in the channel. Maximum 21600 seconds.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- auto_archive_duration
- Returns:
hikari.channels.GuildThreadChannel
The created thread channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
CREATE_PUBLIC_THREADS
permission or if you can’t send messages in the target channel.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_voice_event(guild, channel, name, /, start_time, *, description=undefined.UNDEFINED, end_time=undefined.UNDEFINED, image=undefined.UNDEFINED, privacy_level=scheduled_events.EventPrivacyLevel.GUILD_ONLY, reason=undefined.UNDEFINED)[source]#
Create a scheduled voice event.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to create the event in.
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PartialChannel
] The voice channel to create the event in.
- name
str
The name of the event.
- start_time
datetime.datetime
When the event is scheduled to start.
- guild
- Other Parameters:
- description
hikari.undefined.UndefinedOr
[str
] The event’s description.
- end_time
hikari.undefined.UndefinedOr
[datetime.datetime
] When the event should be scheduled to end.
- image
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] The event’s display image.
- privacy_level
hikari.undefined.UndefinedOr
[hikari.scheduled_events.EventPrivacyLevel
] The event’s privacy level.
This effects who can view and subscribe to the event.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- description
- Returns:
hikari.scheduled_events.ScheduledVoiceEvent
The created scheduled voice event.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing permissions to create the scheduled event.
You need the following permissions in the target voice channel:
MANAGE_EVENTS
,VIEW_CHANNEL
andCONNECT
.hikari.errors.NotFoundError
If the guild or event is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async create_webhook(channel, name, *, avatar=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Create webhook in a channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.WebhookChannelT
] The channel where the webhook will be created. This may be the object or the ID of an existing channel.
- name
str
The name for the webhook. This cannot be
clyde
.
- channel
- Other Parameters:
- avatar
typing.Optional
[hikari.files.Resourceish
] If provided, the avatar for the webhook.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- avatar
- Returns:
hikari.webhooks.IncomingWebhook
The created webhook.
- Raises:
hikari.errors.BadRequestError
If
name
doesn’t follow the restrictions enforced by discord.hikari.errors.ForbiddenError
If you are missing the
MANAGE_WEBHOOKS
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async crosspost_message(channel, message)[source]#
Broadcast an announcement message.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildNewsChannel
] The object or ID of the news channel to crosspost a message in.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The object or ID of the message to crosspost.
- channel
- Returns:
hikari.messages.Message
The message object that was crossposted.
- Raises:
hikari.errors.BadRequestError
If you tried to crosspost a message that has already been broadcast.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you try to crosspost a message by the current user without the
SEND_MESSAGES
permission for the target news channel or try to crosspost a message by another user without both theSEND_MESSAGES
andMANAGE_MESSAGES
permissions for the target channel.hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_all_reactions(channel, message)[source]#
Delete all reactions from a message.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel where the message to delete all reactions from is. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete all reaction from. This may be the object or the ID of an existing message.
- channel
- Raises:
hikari.errors.BadRequestError
If an invalid unicode emoji is given, or if the given custom emoji does not exist.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_MESSAGES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_all_reactions_for_emoji(channel, message, emoji, emoji_id=undefined.UNDEFINED)[source]#
Delete all reactions for a single emoji on a given message.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel where the message to delete the reactions from is. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete a reactions from. This may be the object or the ID of an existing message.
- emoji
typing.Union
[str
,hikari.emojis.Emoji
] Object or name of the emoji to remove all the reactions for.
- channel
- Other Parameters:
- emoji_id
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
]] 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
emoji
.
- emoji_id
- Raises:
hikari.errors.BadRequestError
If an invalid unicode emoji is given, or if the given custom emoji does not exist.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_MESSAGES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_application_command(application, command, guild=undefined.UNDEFINED)[source]#
Delete a registered application command.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to delete a command for.
- command
hikari.snowflakes.SnowflakeishOr
[hikari.commands.PartialCommand
] Object or ID of the command to delete.
- application
- Other Parameters:
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
]] Object or ID of the guild to delete a command for if this is a guild specific command. Leave this as
hikari.undefined.UNDEFINED
to delete a global command.
- guild
- Raises:
hikari.errors.ForbiddenError
If you cannot access the provided application’s commands.
hikari.errors.NotFoundError
If the provided application or command isn’t found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_channel(channel)[source]#
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.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PartialChannel
] The channel to delete. This may be the object or the ID of an existing channel.
- channel
- Returns:
hikari.channels.PartialChannel
Object of the channel that was deleted.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission in the channel.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_emoji(guild, emoji, *, reason=undefined.UNDEFINED)[source]#
Delete an emoji in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to delete the emoji on. This can be a guild object or the ID of an existing guild.
- emoji
hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
] The emoji to delete. This can be a
hikari.emojis.CustomEmoji
or the ID of an existing emoji.
- guild
- Other Parameters:
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- reason
- Raises:
hikari.errors.ForbiddenError
If you are missing
MANAGE_EMOJIS_AND_STICKERS
in the server.hikari.errors.NotFoundError
If the guild or the emoji are not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_guild(guild)[source]#
Delete a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to delete. This may be the object or the ID of an existing guild.
- guild
- Raises:
hikari.errors.ForbiddenError
If you are not the owner of the guild.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If you own the guild or if you are not in it.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_interaction_response(application, token)[source]#
Delete the initial response of an interaction.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to delete a command response for.
- token
str
The interaction’s token.
- application
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the interaction or response is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_invite(invite)[source]#
Delete an existing invite.
- Parameters:
- invite
typing.Union
[hikari.invites.InviteCode
,str
] The invite to delete. This may be an invite object or the code of an existing invite.
- invite
- Returns:
hikari.invites.Invite
Object of the invite that was deleted.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_GUILD
permission in the guild the invite is from or if you are missing theMANAGE_CHANNELS
permission in the channel the invite is from.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the invite is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_message(channel, message)[source]#
Delete a given message in a given channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to delete the message in. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete. This may be the object or the ID of an existing message.
- channel
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_MESSAGES
, and the message is not sent by you.hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_messages(channel, messages, /, *other_messages)[source]#
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 thedelete_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.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to bulk delete the messages in. This may be the object or the ID of an existing channel.
- 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.
- channel
- Other Parameters:
- *other_messages
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The objects and/or IDs of other existing messages to delete.
- *other_messages
- Raises:
hikari.errors.BulkDeleteError
An error containing the messages successfully deleted, and the messages that were not removed. The
BaseException.__cause__
of the exception will be the original error that terminated this process.
- abstract async delete_my_reaction(channel, message, emoji, emoji_id=undefined.UNDEFINED)[source]#
Delete a reaction that your application user created.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel where the message to delete the reaction from is. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete a reaction from. This may be the object or the ID of an existing message.
- emoji
typing.Union
[str
,hikari.emojis.Emoji
] Object or name of the emoji to remove your reaction for.
- channel
- Other Parameters:
- emoji_id
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
]] ID of the custom emoji to remove your reaction for. This should only be provided when a custom emoji’s name is passed for
emoji
.
- emoji_id
- Raises:
hikari.errors.BadRequestError
If an invalid unicode emoji is given, or if the given custom emoji does not exist.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_permission_overwrite(channel, target)[source]#
Delete a custom permission for an entity in a given guild channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildChannel
] The channel to delete a permission overwrite in. This may be the object, or the ID of an existing channel.
- target
typing.Union
[hikari.users.PartialUser
,hikari.guilds.PartialRole
,hikari.channels.PermissionOverwrite
,hikari.snowflakes.Snowflakeish
] The channel overwrite to delete.
- channel
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_PERMISSIONS
permission in the channel.hikari.errors.NotFoundError
If the channel is not found or the target is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_reaction(channel, message, user, emoji, emoji_id=undefined.UNDEFINED)[source]#
Delete a reaction from a message.
If you are looking to delete your own applications reaction, use
delete_my_reaction
.- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel where the message to delete the reaction from is. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete a reaction from. This may be the object or the ID of an existing message.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] Object or ID of the user to remove the reaction of.
- emoji
typing.Union
[str
,hikari.emojis.Emoji
] Object or name of the emoji to react with.
- channel
- Other Parameters:
- emoji_id
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
]] ID of the custom emoji to react with. This should only be provided when a custom emoji’s name is passed for
emoji
.
- emoji_id
- Raises:
hikari.errors.BadRequestError
If an invalid unicode emoji is given, or if the given custom emoji does not exist.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_MESSAGES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_role(guild, role)[source]#
Delete a role.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to delete the role in. This may be the object or the ID of an existing guild.
- role
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialRole
] The role to delete. This may be the object or the ID of an existing role.
- guild
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_ROLES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild or role are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_scheduled_event(guild, event, /)[source]#
Delete a scheduled event.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to delete the event from.
- event
hikari.snowflakes.SnowflakeishOr
[hikari.scheduled_events.ScheduledEvent
] The scheduled event to delete.
- guild
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_EVENTS
permission.hikari.errors.NotFoundError
If the guild or event is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_sticker(guild, sticker, *, reason=undefined.UNDEFINED)[source]#
Delete a sticker in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to delete the sticker on. This can be a guild object or the ID of an existing guild.
- sticker
hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialSticker
] The sticker to delete. This can be a sticker object or the ID of an existing sticker.
- guild
- Other Parameters:
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- reason
- Raises:
hikari.errors.ForbiddenError
If you are missing
MANAGE_EMOJIS_AND_STICKERS
in the server.hikari.errors.NotFoundError
If the guild or the sticker are not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_template(guild, template)[source]#
Delete a guild template.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to delete a template in.
- template
typing.Union
[str
,hikari.templates.Template
] Object or string code of the template to delete.
- guild
- Returns:
hikari.templates.Template
The deleted template’s object.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the guild.
hikari.errors.NotFoundError
If the guild is not found or you are missing the
MANAGE_GUILD
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_webhook(webhook, *, token=undefined.UNDEFINED)[source]#
Delete a webhook.
- Parameters:
- webhook
hikari.snowflakes.SnowflakeishOr
[hikari.webhooks.PartialWebhook
] The webhook to delete. This may be the object or the ID of an existing webhook.
- webhook
- Other Parameters:
- token
hikari.undefined.UndefinedOr
[str
] If provided, the webhook token that will be used to delete the webhook instead of the token the client was initialized with.
- token
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_WEBHOOKS
permission when not using a token.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the webhook is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async delete_webhook_message(webhook, token, message, *, thread=undefined.UNDEFINED)[source]#
Delete a given message in a given channel.
- Parameters:
- webhook
typing.Union
[hikari.snowflakes.Snowflakeish
,hikari.webhooks.ExecutableWebhook
] The webhook to execute. This may be the object or the ID of an existing webhook.
- token
str
The webhook token.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete. This may be the object or the ID of an existing message.
- webhook
- Other Parameters:
- thread
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildThreadChannel
]] 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.
- thread
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the webhook or the message are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_application_command(application, command, guild=undefined.UNDEFINED, *, name=undefined.UNDEFINED, description=undefined.UNDEFINED, options=undefined.UNDEFINED, default_member_permissions=undefined.UNDEFINED, dm_enabled=undefined.UNDEFINED)[source]#
Edit a registered application command.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to edit a command for.
- command
hikari.snowflakes.SnowflakeishOr
[hikari.commands.PartialCommand
] Object or ID of the command to modify.
- application
- Other Parameters:
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
]] Object or ID of the guild to edit a command for if this is a guild specific command. Leave this as
hikari.undefined.UNDEFINED
to delete a global command.- name
hikari.undefined.UndefinedOr
[str
] The name to set for the command. Leave as
hikari.undefined.UNDEFINED
to not change.- description
hikari.undefined.UndefinedOr
[str
] The description to set for the command. Leave as
hikari.undefined.UNDEFINED
to not change.- options
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.commands.CommandOption
]] A sequence of up to 10 options to set for this command. Leave this as
hikari.undefined.UNDEFINED
to not change.- default_member_permissions
typing.Union
[hikari.undefined.UndefinedType
,int
,hikari.permissions.Permissions
] Member permissions necessary to utilize this command by default.
If
0
, then it will be available for all members. Note that this doesn’t affect administrators of the guild and overwrites.- dm_enabled
hikari.undefined.UndefinedOr
[bool] Whether this command is enabled in DMs with the bot.
This can only be applied to non-guild commands.
- guild
- Returns:
hikari.commands.PartialCommand
The edited command object.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the provided application’s commands.
hikari.errors.NotFoundError
If the provided application or command isn’t found.
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_channel(channel, /, *, name=undefined.UNDEFINED, flags=undefined.UNDEFINED, position=undefined.UNDEFINED, topic=undefined.UNDEFINED, nsfw=undefined.UNDEFINED, bitrate=undefined.UNDEFINED, video_quality_mode=undefined.UNDEFINED, user_limit=undefined.UNDEFINED, rate_limit_per_user=undefined.UNDEFINED, region=undefined.UNDEFINED, permission_overwrites=undefined.UNDEFINED, parent_category=undefined.UNDEFINED, default_auto_archive_duration=undefined.UNDEFINED, default_thread_rate_limit_per_user=undefined.UNDEFINED, default_forum_layout=undefined.UNDEFINED, default_sort_order=undefined.UNDEFINED, available_tags=undefined.UNDEFINED, default_reaction_emoji=undefined.UNDEFINED, archived=undefined.UNDEFINED, locked=undefined.UNDEFINED, invitable=undefined.UNDEFINED, auto_archive_duration=undefined.UNDEFINED, applied_tags=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildChannel
] The channel to edit. This may be the object or the ID of an existing channel.
- channel
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] If provided, the new name for the channel.
- flags
hikari.undefined.UndefinedOr
[hikari.channels.ChannelFlag
] If provided, the new channel flags to use for the channel. This can only be used on a forum channel to apply
REQUIRE_TAG
, or on a forum thread to applyPINNED
.- position
hikari.undefined.UndefinedOr
[int
] If provided, the new position for the channel.
- topic
hikari.undefined.UndefinedOr
[str
] If provided, the new topic for the channel.
- nsfw
hikari.undefined.UndefinedOr
[bool] If provided, whether the channel should be marked as NSFW or not.
- bitrate
hikari.undefined.UndefinedOr
[int
] If provided, the new bitrate for the channel.
- video_quality_mode
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.VideoQualityMode
,int
]] If provided, the new video quality mode for the channel.
- user_limit
hikari.undefined.UndefinedOr
[int
] If provided, the new user limit in the channel.
- rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the new rate limit per user in the channel.
- region
hikari.undefined.UndefinedNoneOr
[typing.Union
[str
,hikari.voices.VoiceRegion
]] If provided, the voice region to set for this channel. Passing
None
here will set it to “auto” mode where the used region will be decided based on the first person who connects to it when it’s empty.- permission_overwrites
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.PermissionOverwrite
]] If provided, the new permission overwrites for the channel.
- parent_category
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildCategory
]] If provided, the new guild category for the channel.
- default_auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the auto archive duration Discord’s end user client should default to when creating threads in this channel.
This should be either 60, 1440, 4320 or 10080 minutes and, as of writing, ignores the parent channel’s set default_auto_archive_duration when passed as
hikari.undefined.UNDEFINED
.- default_thread_rate_limit_per_user
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the ratelimit that should be set in threads derived from this channel.
This only applies to forum channels.
- default_forum_layout
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.ForumLayoutType
,int
]] If provided, the default forum layout to show in the client.
- default_sort_order
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.ForumSortOrderType
,int
]] If provided, the default sort order to show in the client.
- available_tags
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.channels.ForumTag
]] If provided, the new available tags to select from when creating a thread.
This only applies to forum channels.
- default_reaction_emoji
typing.Union
[str
,hikari.emojis.Emoji
,hikari.undefined.UndefinedType
,hikari.snowflakes.Snowflake
] If provided, the new default reaction emoji for threads created in a forum channel.
This only applies to forum channels.
- archived
hikari.undefined.UndefinedOr
[bool] If provided, the new archived state for the thread. This only applies to threads.
- locked
hikari.undefined.UndefinedOr
[bool] If provided, the new locked state for the thread. This only applies to threads.
If it’s locked then only people with
MANAGE_THREADS
can unarchive it.- invitable
undefined.UndefinedOr
[bool] If provided, the new setting for whether non-moderators can invite new members to a private thread. This only applies to threads.
- auto_archive_duration
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] 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.
- applied_tags
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.channels.ForumTag
]] If provided, the new tags to apply to the thread. This only applies to threads in a forum channel.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- name
- Returns:
hikari.channels.PartialChannel
The edited channel.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing permissions to edit the channel.
hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_emoji(guild, emoji, *, name=undefined.UNDEFINED, roles=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit an emoji in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit the emoji on. This can be a guild object or the ID of an existing guild.
- emoji
hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
] The emoji to edit. This can be a
hikari.emojis.CustomEmoji
or the ID of an existing emoji.
- guild
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] If provided, the new name for the emoji.
- roles
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
]] If provided, the new collection of roles that will be able to use this emoji. This can be a
hikari.guilds.PartialRole
or the ID of an existing role.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- name
- Returns:
hikari.emojis.KnownCustomEmoji
The edited emoji.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing
MANAGE_EMOJIS_AND_STICKERS
in the server.hikari.errors.NotFoundError
If the guild or the emoji are not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_guild(guild, *, name=undefined.UNDEFINED, verification_level=undefined.UNDEFINED, default_message_notifications=undefined.UNDEFINED, explicit_content_filter_level=undefined.UNDEFINED, afk_channel=undefined.UNDEFINED, afk_timeout=undefined.UNDEFINED, icon=undefined.UNDEFINED, owner=undefined.UNDEFINED, splash=undefined.UNDEFINED, banner=undefined.UNDEFINED, system_channel=undefined.UNDEFINED, rules_channel=undefined.UNDEFINED, public_updates_channel=undefined.UNDEFINED, preferred_locale=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit. This may be the object or the ID of an existing guild.
- guild
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] If provided, the new name for the guild.
- verification_level
hikari.undefined.UndefinedOr
[hikari.guilds.GuildVerificationLevel
] If provided, the new verification level.
- default_message_notifications
hikari.undefined.UndefinedOr
[hikari.guilds.GuildMessageNotificationsLevel
] If provided, the new default message notifications level.
- explicit_content_filter_level
hikari.undefined.UndefinedOr
[hikari.guilds.GuildExplicitContentFilterLevel
] If provided, the new explicit content filter level.
- afk_channel
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildVoiceChannel
]] If provided, the new afk channel. Requires
afk_timeout
to be set to work.- afk_timeout
hikari.undefined.UndefinedOr
[hikari.internal.time.Intervalish
] If provided, the new afk timeout.
- icon
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] If provided, the new guild icon. Must be a 1024x1024 image or can be an animated gif when the guild has the
ANIMATED_ICON
feature.- owner
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
]]] If provided, the new guild owner.
Warning
You need to be the owner of the server to use this.
- splash
hikari.undefined.UndefinedNoneOr
[hikari.files.Resourceish
] If provided, the new guild splash. Must be a 16:9 image and the guild must have the
INVITE_SPLASH
feature.- banner
hikari.undefined.UndefinedNoneOr
[hikari.files.Resourceish
] If provided, the new guild banner. Must be a 16:9 image and the guild must have the
BANNER
feature.- system_channel
hikari.undefined.UndefinedNoneOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildTextChannel
]] If provided, the new system channel.
- rules_channel
hikari.undefined.UndefinedNoneOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildTextChannel
]] If provided, the new rules channel.
- public_updates_channel
hikari.undefined.UndefinedNoneOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildTextChannel
]] If provided, the new public updates channel.
- preferred_locale
hikari.undefined.UndefinedNoneOr
[str
] If provided, the new preferred locale.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- name
- Returns:
hikari.guilds.RESTGuild
The edited guild.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value. Or you are missing the
hikari.errors.ForbiddenError
If you are missing the
MANAGE_GUILD
permission or if you tried to pass ownership without being the server owner.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_interaction_response(application, token, content=undefined.UNDEFINED, *, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED)[source]#
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
, androle_mentions
will default toFalse
as the message will be re-parsed for mentions. This will also occur if only one of the four are specifiedThis is a limitation of Discord’s design. If in doubt, specify all four of them each time.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to edit a command response for.
- token
str
The interaction’s token.
- application
- Other Parameters:
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message content to update with. If
hikari.undefined.UNDEFINED
, then the content will not be changed. IfNone
, then the content will be removed.Any other value will be cast to a
str
before sending.If this is a
hikari.embeds.Embed
and neither theembed
orembeds
kwargs are provided or if this is ahikari.files.Resourceish
and neither theattachment
orattachments
kwargs are provided, the values will be overwritten. This allows for simpler syntax when sending an embed or an attachment alone.- attachment
hikari.undefined.UndefinedNoneOr
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]] If provided, the attachment to set on the message. If
hikari.undefined.UNDEFINED
, the previous attachment, if present, is not changed. If this isNone
, then the attachment is removed, if present. Otherwise, the new attachment that was provided will be attached.- attachments
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]]] If provided, the attachments to set on the message. If
hikari.undefined.UNDEFINED
, the previous attachments, if present, are not changed. If this isNone
, then the attachments is removed, if present. Otherwise, the new attachments that were provided will be attached.- component
hikari.undefined.UndefinedNoneOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to set for this message. This component will replace any previously set components and passing
None
will remove all components.- components
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects set for this message. These components will replace any previously set components and passing
None
or an empty sequence will remove all components.- embed
hikari.undefined.UndefinedNoneOr
[hikari.embeds.Embed
] If provided, the embed to set on the message. If
hikari.undefined.UNDEFINED
, the previous embed(s) are not changed. If this isNone
then any present embeds are removed. Otherwise, the new embed that was provided will be used as the replacement.- embeds
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the embeds to set on the message. If
hikari.undefined.UNDEFINED
, the previous embed(s) are not changed. If this isNone
then any present embeds are removed. Otherwise, the new embeds that were provided will be used as the replacement.- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, whether the message should parse @everyone/@here mentions.
- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, and
True
, all user mentions will be detected. If provided, andFalse
, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.users.PartialUser
derivatives to enforce mentioning specific users.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, and
True
, all role mentions will be detected. If provided, andFalse
, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.guilds.PartialRole
derivatives to enforce mentioning specific roles.
- content
- Returns:
hikari.messages.Message
The edited message.
- Raises:
ValueError
If both
attachment
andattachments
,component
andcomponents
orembed
andembeds
are specified.hikari.errors.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.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the interaction or the message are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_member(guild, user, *, nickname=undefined.UNDEFINED, roles=undefined.UNDEFINED, mute=undefined.UNDEFINED, deaf=undefined.UNDEFINED, voice_channel=undefined.UNDEFINED, communication_disabled_until=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a guild member.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit. This may be the object or the ID of an existing guild.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to edit. This may be the object or the ID of an existing user.
- guild
- Other Parameters:
- nickname
hikari.undefined.UndefinedNoneOr
[str
] If provided, the new nick for the member. If
None
, will remove the members nick.Requires the
MANAGE_NICKNAMES
permission.- roles
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
]] If provided, the new roles for the member.
Requires the
MANAGE_ROLES
permission.- mute
hikari.undefined.UndefinedOr
[bool] If provided, the new server mute state for the member.
Requires the
MUTE_MEMBERS
permission.- deaf
hikari.undefined.UndefinedOr
[bool] If provided, the new server deaf state for the member.
Requires the
DEAFEN_MEMBERS
permission.- voice_channel
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildVoiceChannel
]]] If provided,
None
or the object or the ID of an existing voice channel to move the member to. IfNone
, will disconnect the member from voice.Requires the
MOVE_MEMBERS
permission and theCONNECT
permission in the original voice channel and the target voice channel.Note
If the member is not in a voice channel, this will take no effect.
- communication_disabled_until
hikari.undefined.UndefinedNoneOr
[datetime.datetime
] If provided, the datetime when the timeout (disable communication) of the member expires, up to 28 days in the future, or
None
to remove the timeout from the member.Requires the
MODERATE_MEMBERS
permission.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- nickname
- Returns:
hikari.guilds.Member
Object of the member that was updated.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing a permission to do an action.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild or the user are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_message(channel, message, content=undefined.UNDEFINED, *, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, mentions_reply=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED, flags=undefined.UNDEFINED)[source]#
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 ahikari.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
, androle_mentions
will default toFalse
as the message will be re-parsed for mentions. This will also occur if only one of the four are specifiedThis is a limitation of Discord’s design. If in doubt, specify all four of them each time.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to create the message in. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to edit. This may be the object or the ID of an existing message.
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message content to update with. If
hikari.undefined.UNDEFINED
, then the content will not be changed. IfNone
, then the content will be removed.Any other value will be cast to a
str
before sending.If this is a
hikari.embeds.Embed
and neither theembed
orembeds
kwargs are provided or if this is ahikari.files.Resourceish
and neither theattachment
orattachments
kwargs are provided, the values will be overwritten. This allows for simpler syntax when sending an embed or an attachment alone.
- channel
- Other Parameters:
- attachment
hikari.undefined.UndefinedNoneOr
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]] If provided, the attachment to set on the message. If
hikari.undefined.UNDEFINED
, the previous attachment, if present, is not changed. If this isNone
, then the attachment is removed, if present. Otherwise, the new attachment that was provided will be attached.- attachments
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]]] If provided, the attachments to set on the message. If
hikari.undefined.UNDEFINED
, the previous attachments, if present, are not changed. If this isNone
, then the attachments is removed, if present. Otherwise, the new attachments that were provided will be attached.- component
hikari.undefined.UndefinedNoneOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to set for this message. This component will replace any previously set components and passing
None
will remove all components.- components
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects set for this message. These components will replace any previously set components and passing
None
or an empty sequence will remove all components.- embed
hikari.undefined.UndefinedNoneOr
[hikari.embeds.Embed
] If provided, the embed to set on the message. If
hikari.undefined.UNDEFINED
, the previous embed(s) are not changed. If this isNone
then any present embeds are removed. Otherwise, the new embed that was provided will be used as the replacement.- embeds
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the embeds to set on the message. If
hikari.undefined.UNDEFINED
, the previous embed(s) are not changed. If this isNone
then any present embeds are removed. Otherwise, the new embeds that were provided will be used as the replacement.- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, sanitation for
@everyone
mentions. Ifhikari.undefined.UNDEFINED
, then the previous setting is not changed. IfTrue
, then@everyone
/@here
mentions in the message content will show up as mentioning everyone that can view the chat.- mentions_reply
hikari.undefined.UndefinedOr
[bool] If provided, whether to mention the author of the message that is being replied to.
This will not do anything if
message
is not a reply message.- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, sanitation for user mentions. If
hikari.undefined.UNDEFINED
, then the previous setting is not changed. IfTrue
, all valid user mentions will behave as mentions. IfFalse
, all valid user mentions will not behave as mentions.You may alternatively pass a collection of
hikari.snowflakes.Snowflake
user IDs, orhikari.users.PartialUser
-derived objects.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, sanitation for role mentions. If
hikari.undefined.UNDEFINED
, then the previous setting is not changed. IfTrue
, all valid role mentions will behave as mentions. IfFalse
, all valid role mentions will not behave as mentions.You may alternatively pass a collection of
hikari.snowflakes.Snowflake
role IDs, orhikari.guilds.PartialRole
-derived objects.- flags
hikari.undefined.UndefinedOr
[hikari.messages.MessageFlag
] If provided, optional flags to set on the message. If
hikari.undefined.UNDEFINED
, then nothing is changed.Note that some flags may not be able to be set. Currently the only flags that can be set are
NONE
andSUPPRESS_EMBEDS
. If you haveMANAGE_MESSAGES
permissions, you can use this call to suppress embeds on another user’s message.
- attachment
- Returns:
hikari.messages.Message
The edited message.
- Raises:
ValueError
If both
attachment
andattachments
,component
andcomponents
orembed
andembeds
are specified.hikari.errors.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.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
SEND_MESSAGES
in the channel; if you try to change the contents of another user’s message; or if you try to edit the flags on another user’s message without theMANAGE_MESSAGES
permission.hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_my_member(guild, *, nickname=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit the current user’s member in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit the member in. This may be the object or the ID of an existing guild.
- guild
- Other Parameters:
- nickname
hikari.undefined.UndefinedNoneOr
[str
] If provided, the new nickname for the member. If
None
, will remove the members nickname.Requires the
CHANGE_NICKNAME
permission. If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- nickname
- Returns:
hikari.guilds.Member
Object of the member that was updated.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing a permission to do an action.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_my_user(*, username=undefined.UNDEFINED, avatar=undefined.UNDEFINED)[source]#
Edit the token’s associated user.
- Other Parameters:
- username
undefined.UndefinedOr
[str
] If provided, the new username.
- avatar
undefined.UndefinedNoneOr
[hikari.files.Resourceish
] If provided, the new avatar. If
None
, the avatar will be removed.
- username
- Returns:
hikari.users.OwnUser
The edited token’s associated user.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
Discord also returns this on a rate limit: <https://github.com/discord/discord-api-docs/issues/1462>
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_my_voice_state(guild, channel, *, suppress=undefined.UNDEFINED, request_to_speak=undefined.UNDEFINED)[source]#
Edit the current user’s voice state in a stage channel.
Note
The current user has to have already joined the target stage channel before any calls can be made to this endpoint.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] Object or Id of the guild to edit a voice state in.
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildStageChannel
] Object or Id of the channel to edit a voice state in.
- guild
- Other Parameters:
- suppress
hikari.undefined.UndefinedOr
[bool] If specified, whether the user should be allowed to become a speaker in the target stage channel with
builtin.True
suppressing them from becoming one.- request_to_speak
typing.Union
[hikari.undefined.UndefinedType
, bool,datetime.datetime
] Whether to request to speak. This may be one of the following:
True
to indicate that the bot wants to speak.False
to remove any previously set request to speak.datetime.datetime
to specify when they want their request tospeak timestamp to be set to. If a datetime from the past is passed then Discord will use the current time instead.
- suppress
- Raises:
hikari.errors.BadRequestError
If you try to target a non-staging channel.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MUTE_MEMBERS
permission in the channel.hikari.errors.NotFoundError
If the channel, message or voice state is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_permission_overwrite(channel, target, *, allow=undefined.UNDEFINED, deny=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
- abstract async edit_permission_overwrite(channel: hikari.snowflakes.SnowflakeishOr[hikari.channels.GuildChannel], target: hikari.snowflakes.Snowflakeish, *, target_type: hikari.channels.PermissionOverwriteType | int, allow: hikari.undefined.UndefinedOr[hikari.permissions.Permissions] = undefined.UNDEFINED, deny: hikari.undefined.UndefinedOr[hikari.permissions.Permissions] = undefined.UNDEFINED, reason: hikari.undefined.UndefinedOr[str] = undefined.UNDEFINED) None
Edit permissions for a specific entity in the given guild channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildChannel
] The channel to edit a permission overwrite in. This may be the object, or the ID of an existing channel.
- target
typing.Union
[hikari.users.PartialUser
,hikari.guilds.PartialRole
,hikari.channels.PermissionOverwrite
,hikari.snowflakes.Snowflakeish
] The channel overwrite to edit. This may be the object or the ID of an existing overwrite.
- channel
- Other Parameters:
- target_type
hikari.undefined.UndefinedOr
[typing.Union
[hikari.channels.PermissionOverwriteType
,int
]] If provided, the type of the target to update. If unset, will attempt to get the type from
target
.- allow
hikari.undefined.UndefinedOr
[hikari.permissions.Permissions
] If provided, the new value of all allowed permissions.
- deny
hikari.undefined.UndefinedOr
[hikari.permissions.Permissions
] If provided, the new value of all disallowed permissions.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- target_type
- Raises:
TypeError
If
target_type
is unset and we were unable to determine the type fromtarget
.hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_PERMISSIONS
permission in the channel.hikari.errors.NotFoundError
If the channel is not found or the target is not found if it is a role.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_role(guild, role, *, name=undefined.UNDEFINED, permissions=undefined.UNDEFINED, color=undefined.UNDEFINED, colour=undefined.UNDEFINED, hoist=undefined.UNDEFINED, icon=undefined.UNDEFINED, unicode_emoji=undefined.UNDEFINED, mentionable=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a role.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit the role in. This may be the object or the ID of an existing guild.
- role
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialRole
] The role to edit. This may be the object or the ID of an existing role.
- guild
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] If provided, the new name for the role.
- permissions
hikari.undefined.UndefinedOr
[hikari.permissions.Permissions
] If provided, the new permissions for the role.
- color
hikari.undefined.UndefinedOr
[hikari.colors.Colorish
] If provided, the new color for the role.
- colour
hikari.undefined.UndefinedOr
[hikari.colors.Colorish
] An alias for
color
.- hoist
hikari.undefined.UndefinedOr
[bool] If provided, whether to hoist the role.
- icon
hikari.undefined.UndefinedNoneOr
[hikari.files.Resourceish
] If provided, the new role icon. Must be a 64x64 image under 256kb.
- unicode_emoji
hikari.undefined.UndefinedNoneOr
[str
] If provided, the new unicode emoji to set as the role icon.
- mentionable
hikari.undefined.UndefinedOr
[bool] If provided, whether to make the role mentionable.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- name
- Returns:
hikari.guilds.Role
The edited role.
- Raises:
TypeError
If both
color
andcolour
are specified or if bothicon
andunicode_emoji
are specified.hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_ROLES
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild or role are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_scheduled_event(guild, event, /, *, channel=undefined.UNDEFINED, description=undefined.UNDEFINED, entity_type=undefined.UNDEFINED, image=undefined.UNDEFINED, location=undefined.UNDEFINED, name=undefined.UNDEFINED, privacy_level=undefined.UNDEFINED, start_time=undefined.UNDEFINED, end_time=undefined.UNDEFINED, status=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a scheduled event.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit the event in.
- event
hikari.snowflakes.SnowflakeishOr
[hikari.scheduled_events.ScheduledEvent
] The scheduled event to edit.
- guild
- Other Parameters:
- channel
hikari.undefined.UndefinedNoneOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.PartialChannel
]] The channel a
VOICE
orSTAGE
event should be associated with.- description
hikari.undefined.UndefinedNoneOr
[str
] The event’s description.
- entity_type
hikari.undefined.UndefinedOr
[hikari.scheduled_events.ScheduledEventType
] The type of entity the event should target.
- image
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] The event’s display image.
- location
hikari.undefined.UndefinedOr
[str
] The location of an
EXTERNAL
event.Must be passed when changing an event to
EXTERNAL
.- name
hikari.undefined.UndefinedOr
[str
] The event’s name.
- privacy_level
hikari.undefined.UndefinedOr
[hikari.scheduled_events.EventPrivacyLevel
] The event’s privacy level.
This effects who can view and subscribe to the event.
- start_time
hikari.undefined.UndefinedOr
[datetime.datetime
] When the event should be scheduled to start.
- end_time
hikari.undefined.UndefinedNoneOr
[datetime.datetime
] When the event should be scheduled to end.
This can only be set to
None
forSTAGE
andVOICE
events. Must be provided when changing an event toEXTERNAL
.- status
hikari.undefined.UndefinedOr
[hikari.scheduled_events.ScheduledEventStatus
] The event’s new status.
SCHEDULED
events can be set toACTIVE
andCANCELED
.ACTIVE
events can only be set toCOMPLETED
.- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- channel
- Returns:
hikari.scheduled_events.ScheduledEvent
The edited scheduled event.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing permissions to edit the scheduled event.
For
VOICE
andSTAGE_INSTANCE
events, you need the following permissions in the event’s associated channel:MANAGE_EVENTS
,VIEW_CHANNEL
andCONNECT
.For
EXTERNAL
events you just need theMANAGE_EVENTS
permission.hikari.errors.NotFoundError
If the guild or event is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_sticker(guild, sticker, *, name=undefined.UNDEFINED, description=undefined.UNDEFINED, tag=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a sticker in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit the sticker on. This can be a guild object or the ID of an existing guild.
- sticker
hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialSticker
] The sticker to edit. This can be a sticker object or the ID of an existing sticker.
- guild
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] If provided, the new name for the sticker.
- description
hikari.undefined.UndefinedOr
[str
] If provided, the new description for the sticker.
- tag
hikari.undefined.UndefinedOr
[str
] If provided, the new sticker tag.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- name
- Returns:
hikari.stickers.GuildSticker
The edited sticker.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing
MANAGE_EMOJIS_AND_STICKERS
in the server.hikari.errors.NotFoundError
If the guild or the sticker are not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_template(guild, template, *, name=undefined.UNDEFINED, description=undefined.UNDEFINED)[source]#
Modify a guild template.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit a template in.
- template
typing.Union
[str
,hikari.templates.Template
] Object or string code of the template to modify.
- guild
- Other Parameters:
- name
hikari.undefined.UndefinedOr
[str
] The name to set for this template.
- description
hikari.undefined.UndefinedNoneOr
[str
] The description to set for the template.
- name
- Returns:
hikari.templates.Template
The object of the edited template.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the guild.
hikari.errors.NotFoundError
If the guild is not found or you are missing the
MANAGE_GUILD
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_voice_state(guild, channel, user, *, suppress=undefined.UNDEFINED)[source]#
Edit an existing voice state in a stage channel.
Note
The target user must already be present in the stage channel before any calls are made to this endpoint.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] Object or Id of the guild to edit a voice state in.
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildStageChannel
] Object or Id of the channel to edit a voice state in.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] Object or Id of the user to to edit the voice state of.
- guild
- Other Parameters:
- suppress
hikari.undefined.UndefinedOr
[bool] If defined, whether the user should be allowed to become a speaker in the target stage channel.
- suppress
- Raises:
hikari.errors.BadRequestError
If you try to target a non-staging channel.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MUTE_MEMBERS
permission in the channel.hikari.errors.NotFoundError
If the channel, message or voice state is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_webhook(webhook, *, token=undefined.UNDEFINED, name=undefined.UNDEFINED, avatar=undefined.UNDEFINED, channel=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Edit a webhook.
- Parameters:
- webhook
hikari.snowflakes.SnowflakeishOr
[hikari.webhooks.PartialWebhook
] The webhook to edit. This may be the object or the ID of an existing webhook.
- webhook
- Other Parameters:
- token
hikari.undefined.UndefinedOr
[str
] If provided, the webhook token that will be used to edit the webhook instead of the token the client was initialized with.
- name
hikari.undefined.UndefinedOr
[str
] If provided, the new webhook name.
- avatar
hikari.undefined.UndefinedNoneOr
[hikari.files.Resourceish
] If provided, the new webhook avatar. If
None
, will remove the webhook avatar.- channel
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.WebhookChannelT
]] If provided, the text channel to move the webhook to.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- token
- Returns:
hikari.webhooks.PartialWebhook
The edited webhook.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_WEBHOOKS
permission when not using a token.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the webhook is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_webhook_message(webhook, token, message, content=undefined.UNDEFINED, *, thread=undefined.UNDEFINED, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED)[source]#
Edit a message sent by a webhook.
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
, androle_mentions
will default toFalse
as the message will be re-parsed for mentions. This will also occur if only one of the four are specifiedThis is a limitation of Discord’s design. If in doubt, specify all four of them each time.
- Parameters:
- webhook
typing.Union
[hikari.snowflakes.Snowflakeish
,hikari.webhooks.ExecutableWebhook
] The webhook to execute. This may be the object or the ID of an existing webhook.
- token
str
The webhook token.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete. This may be the object or the ID of an existing message.
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message content to update with. If
hikari.undefined.UNDEFINED
, then the content will not be changed. IfNone
, then the content will be removed.Any other value will be cast to a
str
before sending.If this is a
hikari.embeds.Embed
and neither theembed
orembeds
kwargs are provided or if this is ahikari.files.Resourceish
and neither theattachment
orattachments
kwargs are provided, the values will be overwritten. This allows for simpler syntax when sending an embed or an attachment alone.
- webhook
- Other Parameters:
- thread
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildThreadChannel
]] If provided then the message will be edited in the target thread within the webhook’s channel, otherwise it will be edited in the webhook’s target channel.
This is required when trying to edit a thread message.
- attachment
hikari.undefined.UndefinedNoneOr
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]] If provided, the attachment to set on the message. If
hikari.undefined.UNDEFINED
, the previous attachment, if present, is not changed. If this isNone
, then the attachment is removed, if present. Otherwise, the new attachment that was provided will be attached.- attachments
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[typing.Union
[hikari.files.Resourceish
,hikari.messages.Attachment
]]] If provided, the attachments to set on the message. If
hikari.undefined.UNDEFINED
, the previous attachments, if present, are not changed. If this isNone
, then the attachments is removed, if present. Otherwise, the new attachments that were provided will be attached.- component
hikari.undefined.UndefinedNoneOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to set for this message. This component will replace any previously set components and passing
None
will remove all components.- components
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects set for this message. These components will replace any previously set components and passing
None
or an empty sequence will remove all components.- embed
hikari.undefined.UndefinedNoneOr
[hikari.embeds.Embed
] If provided, the embed to set on the message. If
hikari.undefined.UNDEFINED
, the previous embed(s) are not changed. If this isNone
then any present embeds are removed. Otherwise, the new embed that was provided will be used as the replacement.- embeds
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the embeds to set on the message. If
hikari.undefined.UNDEFINED
, the previous embed(s) are not changed. If this isNone
then any present embeds are removed. Otherwise, the new embeds that were provided will be used as the replacement.- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, sanitation for
@everyone
mentions. Ifhikari.undefined.UNDEFINED
, then the previous setting is not changed. IfTrue
, then@everyone
/@here
mentions in the message content will show up as mentioning everyone that can view the chat.- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, and
True
, all user mentions will be detected. If provided, andFalse
, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.users.PartialUser
derivatives to enforce mentioning specific users.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, and
True
, all role mentions will be detected. If provided, andFalse
, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.guilds.PartialRole
derivatives to enforce mentioning specific roles.
- thread
- Returns:
hikari.messages.Message
The edited message.
- Raises:
ValueError
If both
attachment
andattachments
,component
andcomponents
orembed
andembeds
are specified.hikari.errors.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.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the webhook or the message are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_welcome_screen(guild, *, description=undefined.UNDEFINED, enabled=undefined.UNDEFINED, channels=undefined.UNDEFINED)[source]#
Edit the welcome screen of a community guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] ID or object of the guild to edit the welcome screen for.
- guild
- Other Parameters:
- description
undefined.UndefinedNoneOr
[str
] If provided, the description to set for the guild’s welcome screen. This may be
None
to unset the description.- enabled
undefined.UndefinedOr
[bool] If provided, Whether the guild’s welcome screen should be enabled.
- channels
hikari.undefined.UndefinedNoneOr
[typing.Sequence
[hikari.guilds.WelcomeChannel
]] If provided, a sequence of up to 5 public channels to set in this guild’s welcome screen. This may be passed as
None
to remove all welcome channelsNote
Custom emojis may only be included in a guild’s welcome channels if it’s boost status is tier 2 or above.
- description
- Returns:
hikari.guilds.WelcomeScreen
The edited guild welcome screen.
- Raises:
hikari.errors.BadRequestError
If more than 5 welcome channels are provided or if a custom emoji is included on a welcome channel in a guild that doesn’t have tier 2 of above boost status or if a private channel is included as a welcome channel.
hikari.errors.ForbiddenError
If you are missing the
MANAGE_GUILD
permission, are not part of the guild or the guild doesn’t have access to the community welcome screen feature.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async edit_widget(guild, *, channel=undefined.UNDEFINED, enabled=undefined.UNDEFINED, reason=undefined.UNDEFINED)[source]#
Fetch a guilds’s widget.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to edit the widget in. This can be the object or the ID of an existing guild.
- guild
- Other Parameters:
- channel
hikari.undefined.UndefinedNoneOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildChannel
]] If provided, the channel to set the widget to. If
None
, will not set to any.- enabled
hikari.undefined.UndefinedOr
[bool] If provided, whether to enable the widget.
- reason
hikari.undefined.UndefinedOr
[str
] If provided, the reason that will be recorded in the audit logs. Maximum of 512 characters.
- channel
- Returns:
hikari.guilds.GuildWidget
The edited guild widget.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_GUILD
permission.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async estimate_guild_prune_count(guild, *, days=undefined.UNDEFINED, include_roles=undefined.UNDEFINED)[source]#
Estimate the guild prune count.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to estimate the guild prune count for. This may be the object or the ID of an existing guild.
- guild
- Other Parameters:
- days
hikari.undefined.UndefinedOr
[int
] If provided, number of days to count prune for.
- include_roles
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
]]] 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.
- days
- Returns:
int
The estimated guild prune count.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
KICK_MEMBERS
permission.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async execute_webhook(webhook, token, content=undefined.UNDEFINED, *, thread=undefined.UNDEFINED, username=undefined.UNDEFINED, avatar_url=undefined.UNDEFINED, attachment=undefined.UNDEFINED, attachments=undefined.UNDEFINED, component=undefined.UNDEFINED, components=undefined.UNDEFINED, embed=undefined.UNDEFINED, embeds=undefined.UNDEFINED, tts=undefined.UNDEFINED, mentions_everyone=undefined.UNDEFINED, user_mentions=undefined.UNDEFINED, role_mentions=undefined.UNDEFINED, flags=undefined.UNDEFINED)[source]#
Execute a webhook.
Warning
At the time of writing,
username
andavatar_url
are ignored for interaction webhooks.Additionally,
SUPPRESS_EMBEDS
,SUPPRESS_NOTIFICATIONS
andEPHEMERAL
are the only flags that can be set, withEPHEMERAL
limited to interaction webhooks.- Parameters:
- webhook
typing.Union
[hikari.snowflakes.Snowflakeish
,hikari.webhooks.ExecutableWebhook
] The webhook to execute. This may be the object or the ID of an existing webhook.
- token
str
The webhook token.
- content
hikari.undefined.UndefinedOr
[typing.Any
] If provided, the message contents. If
hikari.undefined.UNDEFINED
, then nothing will be sent in the content. Any other value here will be cast to astr
.If this is a
hikari.embeds.Embed
and noembed
nor noembeds
kwarg is provided, then this will instead update the embed. This allows for simpler syntax when sending an embed alone.Likewise, if this is a
hikari.files.Resource
, then the content is instead treated as an attachment if noattachment
and noattachments
kwargs are provided.
- webhook
- Other Parameters:
- thread
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildThreadChannel
]] If provided then the message will be created in the target thread within the webhook’s channel, otherwise it will be created in the webhook’s target channel.
This is required when trying to create a thread message.
- username
hikari.undefined.UndefinedOr
[str
] If provided, the username to override the webhook’s username for this request.
- avatar_url
typing.Union
[hikari.undefined.UndefinedType
,hikari.files.URL
,str
] If provided, the url of an image to override the webhook’s avatar with for this request.
- attachment
hikari.undefined.UndefinedOr
[hikari.files.Resourceish
] 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.
- If a
pathlib.PurePath
orstr
to a valid URL, the resource at the given URL will be streamed to Discord when sending the message. Subclasses of
hikari.files.WebResource
such ashikari.files.URL
,hikari.messages.Attachment
,hikari.emojis.Emoji
,EmbedResource
, etc will also be uploaded this way. This will use bit-inception, so only a small percentage of the resource will remain in memory at any one time, thus aiding in scalability.
- If a
- If a
hikari.files.Bytes
is passed, or astr
that contains a valid data URI is passed, then this is uploaded with a randomized file name if not provided.
- If a
- If a
hikari.files.File
,pathlib.PurePath
or str
that is an absolute or relative path to a file on your file system is passed, then this resource is uploaded as an attachment using non-blocking code internally and streamed using bit-inception where possible. This depends on the type ofconcurrent.futures.Executor
that is being used for the application (default is a thread pool which supports this behaviour).
- If a
- attachments
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.files.Resourceish
]] If provided, the message attachments. These can be resources, or strings consisting of paths on your computer or URLs.
- component
hikari.undefined.UndefinedOr
[hikari.api.special_endpoints.ComponentBuilder
] If provided, builder object of the component to include in this message.
- components
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.api.special_endpoints.ComponentBuilder
]] If provided, a sequence of the component builder objects to include in this message.
- embed
hikari.undefined.UndefinedOr
[hikari.embeds.Embed
] If provided, the message embed.
- embeds
hikari.undefined.UndefinedOr
[typing.Sequence
[hikari.embeds.Embed
]] If provided, the message embeds.
- tts
hikari.undefined.UndefinedOr
[bool] If provided, whether the message will be read out by a screen reader using Discord’s TTS (text-to-speech) system.
- mentions_everyone
hikari.undefined.UndefinedOr
[bool] If provided, whether the message should parse @everyone/@here mentions.
- user_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.users.PartialUser
], bool]] If provided, and
True
, all user mentions will be detected. If provided, andFalse
, all user mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.users.PartialUser
derivatives to enforce mentioning specific users.- role_mentions
hikari.undefined.UndefinedOr
[typing.Union
[hikari.snowflakes.SnowflakeishSequence
[hikari.guilds.PartialRole
], bool]] If provided, and
True
, all role mentions will be detected. If provided, andFalse
, all role mentions will be ignored if appearing in the message body. Alternatively this may be a collection ofhikari.snowflakes.Snowflake
, orhikari.guilds.PartialRole
derivatives to enforce mentioning specific roles.- flags
typing.Union
[hikari.undefined.UndefinedType
,int
,hikari.messages.MessageFlag
] The flags to set for this webhook message.
- thread
- Returns:
hikari.messages.Message
The created message.
- Raises:
ValueError
If more than 100 unique objects/entities are passed for
role_mentions
oruser_mentions
or if bothattachment
andattachments
orembed
andembeds
are specified.hikari.errors.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.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the webhook is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_active_threads(guild, /)[source]#
Fetch a guild’s active threads.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.Guild
] Object or ID of the guild to fetch the active threads of.
- guild
- Returns:
typing.Sequence
[hikari.channels.GuildThreadChannel
]A sequence of the guild’s active threads.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you access the guild’s active threads.
hikari.errors.NotFoundError
If the guild doesn’t exist.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_application()[source]#
Fetch the token’s associated application.
Warning
This endpoint can only be used with a Bot token. Using this with a Bearer token will result in a
hikari.errors.UnauthorizedError
.- Returns:
hikari.applications.Application
The token’s associated application.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_application_command(application, command, guild=undefined.UNDEFINED)[source]#
Fetch a command set for an application.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to fetch a command for.
- command
hikari.snowflakes.SnowflakeishOr
[hikari.commands.PartialCommand
] Object or ID of the command to fetch.
- application
- Other Parameters:
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] Object or ID of the guild to fetch the command for. If left as
hikari.undefined.UNDEFINED
then this will return a global command, otherwise this will return a command made for the specified guild.
- guild
- Returns:
hikari.commands.PartialCommand
Object of the fetched command.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the target command.
hikari.errors.NotFoundError
If the command isn’t found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_application_command_permissions(application, guild, command)[source]#
Fetch the permissions registered for a specific command in a guild.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to fetch the command permissions for.
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
]] Object or ID of the guild to fetch the command permissions for.
- command
hikari.snowflakes.SnowflakeishOr
[hikari.commands.PartialCommand
] Object or ID of the command to fetch the command permissions for.
- application
- Returns:
hikari.commands.GuildCommandPermissions
Object of the command permissions set for the specified command.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the provided application’s commands or guild.
hikari.errors.NotFoundError
If the provided application or command isn’t found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_application_commands(application, guild=undefined.UNDEFINED)[source]#
Fetch the commands set for an application.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to fetch the commands for.
- application
- Other Parameters:
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] Object or ID of the guild to fetch the commands for. If left as
hikari.undefined.UNDEFINED
then this will only return the global commands, otherwise this will only return the commands set exclusively for the specific guild.
- guild
- Returns:
typing.Sequence
[hikari.commands.PartialCommand
]A sequence of the commands declared for the provided application. This will exclusively either contain the commands set for a specific guild if
guild
is provided or the global commands if not.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the target guild.
hikari.errors.NotFoundError
If the provided application isn’t found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_application_guild_commands_permissions(application, guild)[source]#
Fetch the command permissions registered in a guild.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to fetch the command permissions for.
- guild
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
]] Object or ID of the guild to fetch the command permissions for.
- application
- Returns:
typing.Sequence
[hikari.commands.GuildCommandPermissions
]Sequence of the guild command permissions set for the specified guild.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the provided application’s commands or guild.
hikari.errors.NotFoundError
If the provided application isn’t found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_application_role_connection_metadata_records(application)[source]#
Fetch the application role connection metadata records.
Note
This requires the token to have the
hikari.applications.OAuth2Scope.ROLE_CONNECTIONS_WRITE
scope enabled.- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.applications.PartialApplication
] The application to fetch the application role connection metadata records for.
- application
- Returns:
typing.Sequence
[hikari.applications.ApplicationRoleConnectionMetadataRecord
]The requested application role connection metadata records.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the application is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_audit_log(guild, *, before=undefined.UNDEFINED, user=undefined.UNDEFINED, event_type=undefined.UNDEFINED)[source]#
Fetch pages of the guild’s audit log.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it, thus any errors documented below will happen then.
See
hikari.iterators
for the full API for this iterator type.- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the audit logs from. This can be a guild object or the ID of an existing guild.
- guild
- Other Parameters:
- before
hikari.undefined.UndefinedOr
[hikari.snowflakes.SearchableSnowflakeishOr
[hikari.snowflakes.Unique
]] If provided, filter to only actions before this snowflake. If you provide a datetime object, it will be transformed into a snowflake. This may be any other Discord entity that has an ID. In this case, the date the object was first created will be used.
- user
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
]] If provided, the user to filter for.
- event_type
hikari.undefined.UndefinedOr
[typing.Union
[hikari.audit_logs.AuditLogEventType
,int
]] If provided, the event type to filter for.
- before
- Returns:
hikari.iterators.LazyIterator
[hikari.audit_logs.AuditLog
]The guild’s audit log.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.ForbiddenError
If you are missing the
VIEW_AUDIT_LOG
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_authorization()[source]#
Fetch the token’s authorization information.
Warning
This endpoint can only be used with a Bearer token. Using this with a Bot token will result in a
hikari.errors.UnauthorizedError
.- Returns:
hikari.applications.AuthorizationInformation
The token’s authorization information.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_available_sticker_packs()[source]#
Fetch the available sticker packs.
- Returns:
typing.Sequence
[hikari.stickers.StickerPack
]The available sticker packs.
- Raises:
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_ban(guild, user)[source]#
Fetch the guild’s ban info for a user.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the ban from. This may be the object or the ID of an existing guild.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to fetch the ban of. This may be the object or the ID of an existing user.
- guild
- Returns:
hikari.guilds.GuildBan
The requested ban info.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
BAN_MEMBERS
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild or user are not found or if the user is not banned.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_bans(guild, /, *, newest_first=False, start_at=undefined.UNDEFINED)[source]#
Fetch the bans of a guild.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it. See
hikari.iterators
for the full API for this iterator type.- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the bans from. This may be the object or the ID of an existing guild.
- guild
- Other Parameters:
- newest_firstbool
Whether to fetch the newest first or the oldest first.
Defaults to
False
.- start_at
undefined.UndefinedOr
[snowflakes.SearchableSnowflakeishOr
[users.PartialUser
]] If provided, will start at this snowflake. If you provide a datetime object, it will be transformed into a snowflake. This may also be a scheduled event object object. In this case, the date the object was first created will be used.
- Returns:
hikari.iterators.LazyIterator
[hikari.guilds.GuildBan
]The requested bans.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
BAN_MEMBERS
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_channel(channel)[source]#
Fetch a channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PartialChannel
] The channel to fetch. This may be the object or the ID of an existing channel.
- channel
- Returns:
hikari.channels.PartialChannel
The channel. This will be a _derivative_ of
hikari.channels.PartialChannel
, depending on the type of channel you request for.This means that you may get one of
hikari.channels.DMChannel
,hikari.channels.GroupDMChannel
,hikari.channels.GuildTextChannel
,hikari.channels.GuildVoiceChannel
,hikari.channels.GuildStoreChannel
,hikari.channels.GuildNewsChannel
.Likewise, the
hikari.channels.GuildChannel
can be used to determine if a channel is guild-bound, andhikari.channels.TextableChannel
can be used to determine if the channel provides textual functionality to the application.You can check for these using the
isinstance
builtin function.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
READ_MESSAGES
permission in the channel.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_channel_invites(channel)[source]#
Fetch all invites pointing to the given guild channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.GuildChannel
] The channel to fetch the invites from. This may be a channel object, or the ID of an existing channel.
- channel
- Returns:
typing.Sequence
[hikari.invites.InviteWithMetadata
]The invites pointing to the given guild channel.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_CHANNEL
permission in the channel.hikari.errors.NotFoundError
If the channel is not found in any guilds you are a member of.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_channel_webhooks(channel)[source]#
Fetch all channel webhooks.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.WebhookChannelT
] The channel to fetch the webhooks for. This may be an instance of any of the classes which are valid for
hikari.channels.WebhookChannelT
or the ID of an existing channel.
- channel
- Returns:
typing.Sequence
[hikari.webhooks.PartialWebhook
]The fetched webhooks.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_WEBHOOKS
permission.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_emoji(guild, emoji)[source]#
Fetch a guild emoji.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the emoji from. This can be a guild object or the ID of an existing guild.
- emoji
hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
] The emoji to fetch. This can be a
hikari.emojis.CustomEmoji
or the ID of an existing emoji.
- guild
- Returns:
hikari.emojis.KnownCustomEmoji
The requested emoji.
- Raises:
hikari.errors.NotFoundError
If the guild or the emoji are not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_gateway_bot_info()[source]#
Fetch the gateway info for the bot.
- Returns:
hikari.sessions.GatewayBotInfo
The gateway bot information.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_gateway_url()[source]#
Fetch the gateway url.
Note
This endpoint does not require any valid authorization.
- Raises:
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild(guild)[source]#
Fetch a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch. This can be the object or the ID of an existing guild.
- guild
- Returns:
hikari.guilds.RESTGuild
The requested guild.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the guild.
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_channels(guild)[source]#
Fetch the channels in a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the channels from. This may be the object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.channels.GuildChannel
]The requested channels.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_emojis(guild)[source]#
Fetch the emojis of a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the emojis from. This can be a guild object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.emojis.KnownCustomEmoji
]The requested emojis.
- Raises:
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_invites(guild)[source]#
Fetch the guild’s invites.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the invites for. This may be the object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.invites.InviteWithMetadata
]The invites for the guild.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_GUILD
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_preview(guild)[source]#
Fetch a guild preview.
Note
This will only work for guilds you are a part of or are public.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the preview of. This can be a guild object or the ID of an existing guild.
- guild
- Returns:
hikari.guilds.GuildPreview
The requested guild preview.
- Raises:
hikari.errors.NotFoundError
If the guild is not found or you are not part of the guild.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_sticker(guild, sticker)[source]#
Fetch a guild sticker.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialGuild
] The guild the sticker is in. This can be a guild object or the ID of an existing guild.
- sticker
hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialSticker
] The sticker to fetch. This can be a sticker object or the ID of an existing sticker.
- guild
- Returns:
hikari.stickers.GuildSticker
The requested sticker.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the server.
hikari.errors.NotFoundError
If the guild or the sticker are not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_stickers(guild)[source]#
Fetch a standard sticker.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.stickers.PartialGuild
] The guild to request stickers for. This can be a guild object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.stickers.GuildSticker
]The requested stickers.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the server.
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_templates(guild)[source]#
Fetch the templates for a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The object or ID of the guild to get the templates for.
- guild
- Returns:
typing.Sequence
[hikari.templates.Template
]A sequence of the found template objects.
- Raises:
hikari.errors.ForbiddenError
If you are not part of the guild.
hikari.errors.NotFoundError
If the guild is not found or are missing the
MANAGE_GUILD
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_voice_regions(guild)[source]#
Fetch the available voice regions for a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the voice regions for. This may be the object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.voices.VoiceRegion
]The available voice regions for the guild.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_guild_webhooks(guild)[source]#
Fetch all guild webhooks.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the webhooks for. This may be the object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.webhooks.PartialWebhook
]The fetched webhooks.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
MANAGE_WEBHOOKS
permission.hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_integrations(guild)[source]#
Fetch the guild’s integrations.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the integrations for. This may be the object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.guilds.Integration
]The integrations for the guild.
- Raises:
hikari.errors.ForbiddenError
If you are missing the
MANAGE_GUILD
permission.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_interaction_response(application, token)[source]#
Fetch the initial response for an interaction.
- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialApplication
] Object or ID of the application to fetch a command for.
- token
str
Token of the interaction to get the initial response for.
- application
- Returns:
hikari.messages.Message
Message object of the initial response.
- Raises:
hikari.errors.ForbiddenError
If you cannot access the target interaction.
hikari.errors.NotFoundError
If the initial response isn’t found.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_invite(invite, with_counts=True, with_expiration=True)[source]#
Fetch an existing invite.
- Parameters:
- invite
typing.Union
[hikari.invites.InviteCode
,str
] The invite to fetch. This may be an invite object or the code of an existing invite.
- with_countsbool
Whether the invite should contain the approximate member counts.
Defaults to
True
.- with_expiration: bool
Whether the invite should contain the expiration date.
Defaults to
True
.
- invite
- Returns:
hikari.invites.Invite
The requested invite.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the invite is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_joined_private_archived_threads(channel, /, *, before=undefined.UNDEFINED)[source]#
Fetch the private archived threads you have joined in a channel.
Note
The exceptions on this endpoint will only be raised once the result is awaited or iterated over. Invoking this function itself will not raise anything.
- Parameters:
- channel
hikari.undefined.UndefinedOr
[hikari.channels.PermissibleGuildChannel
] Object or ID of the channel to fetch the private archived threads of.
- channel
- Other Parameters:
- before
hikari.undefined.UndefinedOr
[hikari.snowflakes.SearchableSnowflakeishOr
[hikari.channels.GuildThreadChannel
]] If provided, fetch joined threads before this snowflake. If you provide a datetime object, it will be transformed into a snowflake.
- before
- Returns:
hikari.iterators.LazyIterator
[hikari.channels.GuildPrivateThread
]An iterator to fetch the threads.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it. See
hikari.iterators
for the full API for this iterator type.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you cannot access the channel.
hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_member(guild, user)[source]#
Fetch a guild member.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to get the member from. This may be the object or the ID of an existing guild.
- user
hikari.snowflakes.SnowflakeishOr
[hikari.users.PartialUser
] The user to get the member for. This may be the object or the ID of an existing user.
- guild
- Returns:
hikari.guilds.Member
The requested member.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild or the user are not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_members(guild)[source]#
Fetch the members from a guild.
Warning
This endpoint requires the
GUILD_MEMBERS
intent to be enabled in the dashboard, not necessarily authenticated with it if using the gateway. If you don’t have the intents you can usesearch_members
which doesn’t require any intents.Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it, thus any errors documented below will happen then.
See
hikari.iterators
for the full API for this iterator type.- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the members of. This may be the object or the ID of an existing guild.
- guild
- Returns:
hikari.iterators.LazyIterator
[hikari.guilds.Member
]An iterator to fetch the members.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_message(channel, message)[source]#
Fetch a specific message in the given text channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to fetch messages in. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to fetch. This may be the object or the ID of an existing message.
- channel
- Returns:
hikari.messages.Message
The requested message.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
READ_MESSAGE_HISTORY
in the channel.hikari.errors.NotFoundError
If the channel is not found or the message is not found in the given text channel.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_messages(channel, *, before=undefined.UNDEFINED, after=undefined.UNDEFINED, around=undefined.UNDEFINED)[source]#
Browse the message history for a given text channel.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it, thus any errors documented below will happen then.
See
hikari.iterators
for the full API for this iterator type.- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to fetch messages in. This may be the object or the ID of an existing channel.
- channel
- Other Parameters:
- before
hikari.undefined.UndefinedOr
[snowflakes.SearchableSnowflakeishOr
[hikari.snowflakes.Unique
]] If provided, fetch messages before this snowflake. If you provide a datetime object, it will be transformed into a snowflake. This may be any other Discord entity that has an ID. In this case, the date the object was first created will be used.
- after
hikari.undefined.UndefinedOr
[snowflakes.SearchableSnowflakeishOr
[hikari.snowflakes.Unique
]] If provided, fetch messages after this snowflake. If you provide a datetime object, it will be transformed into a snowflake. This may be any other Discord entity that has an ID. In this case, the date the object was first created will be used.
- around
hikari.undefined.UndefinedOr
[snowflakes.SearchableSnowflakeishOr
[hikari.snowflakes.Unique
]] If provided, fetch messages around this snowflake. If you provide a datetime object, it will be transformed into a snowflake. This may be any other Discord entity that has an ID. In this case, the date the object was first created will be used.
- before
- Returns:
hikari.iterators.LazyIterator
[hikari.messages.Message
]An iterator to fetch the messages.
- Raises:
TypeError
If you specify more than one of
before
,after
,about
.hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
READ_MESSAGE_HISTORY
in the channel.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_my_connections()[source]#
Fetch the token’s associated connections.
- Returns:
hikari.applications.OwnConnection
The token’s associated connections.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_my_guilds(*, newest_first=False, start_at=undefined.UNDEFINED)[source]#
Fetch the token’s associated guilds.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it, thus any errors documented below will happen then.
See
hikari.iterators
for the full API for this iterator type.- Other Parameters:
- newest_firstbool
Whether to fetch the newest first or the oldest first. Defaults to
False
.- start_at
hikari.undefined.UndefinedOr
[hikari.snowflakes.SearchableSnowflakeishOr
[hikari.guilds.PartialGuild
]] If provided, will start at this snowflake. If you provide a datetime object, it will be transformed into a snowflake. This may also be a guild object. In this case, the date the object was first created will be used.
- Returns:
hikari.iterators.LazyIterator
[hikari.applications.OwnGuild
]The token’s associated guilds.
- Raises:
hikari.errors.BadRequestError
If any of the fields that are passed have an invalid value.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_my_member(guild)[source]#
Fetch the Oauth token’s associated member in a guild.
Warning
This endpoint can only be used with a Bearer token. Using this with a Bot token will result in a
hikari.errors.UnauthorizedError
.- Returns:
hikari.guilds.Member
The associated guild member.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_my_user()[source]#
Fetch the token’s associated user.
- Returns:
hikari.users.OwnUser
The token’s associated user.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_my_user_application_role_connection(application)[source]#
Fetch the token’s associated role connections.
Note
This requires the token to have the
hikari.applications.OAuth2Scope.ROLE_CONNECTIONS_WRITE
scope enabled.- Parameters:
- application
hikari.snowflakes.SnowflakeishOr
[hikari.applications.PartialApplication
] The application to fetch the application role connections for.
- application
- Returns:
hikari.applications.OwnApplicationRoleConnection
The requested role connection.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the application is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_pins(channel)[source]#
Fetch the pinned messages in this text channel.
- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel to fetch pins from. This may be the object or the ID of an existing channel.
- channel
- Returns:
typing.Sequence
[hikari.messages.Message
]The pinned messages in this text channel.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the
READ_MESSAGES
in the channel.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_private_archived_threads(channel, /, *, before=undefined.UNDEFINED)[source]#
Fetch a channel’s private archived threads.
Note
The exceptions on this endpoint will only be raised once the result is awaited or iterated over. Invoking this function itself will not raise anything.
- Parameters:
- channel
hikari.undefined.UndefinedOr
[hikari.channels.PermissibleGuildChannel
] Object or ID of the channel to fetch the private archived threads of.
- channel
- Other Parameters:
- before
hikari.undefined.UndefinedOr
[datetime.datetime
] The date to fetch threads before.
This is based on the thread’s
archive_timestamp
field.
- before
- Returns:
hikari.iterators.LazyIterator
[hikari.channels.GuildPrivateThread
]An iterator to fetch the threads.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it. See
hikari.iterators
for the full API for this iterator type.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you do not have
MANAGE_THREADS
in the target channel.hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_public_archived_threads(channel, /, *, before=undefined.UNDEFINED)[source]#
Fetch a channel’s public archived threads.
Note
The exceptions on this endpoint will only be raised once the result is awaited or iterated over. Invoking this function itself will not raise anything.
- Parameters:
- channel
hikari.undefined.UndefinedOr
[hikari.channels.PermissibleGuildChannel
] Object or ID of the channel to fetch the archived threads of.
- channel
- Other Parameters:
- before
hikari.undefined.UndefinedOr
[datetime.datetime
] The date to fetch threads before.
This is based on the thread’s
archive_timestamp
field.
- before
- Returns:
hikari.iterators.LazyIterator
[typing.Union
[hikari.channels.GuildNewsChannel
,hikari.channels.GuildPublicThread
]]An iterator to fetch the threads.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it. See
hikari.iterators
for the full API for this iterator type.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you cannot access the channel.
hikari.errors.NotFoundError
If the channel is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract fetch_reactions_for_emoji(channel, message, emoji, emoji_id=undefined.UNDEFINED)[source]#
Fetch reactions for an emoji from a message.
Note
This call is not a coroutine function, it returns a special type of lazy iterator that will perform API calls as you iterate across it, thus any errors documented below will happen then.
See
hikari.iterators
for the full API for this iterator type.- Parameters:
- channel
hikari.snowflakes.SnowflakeishOr
[hikari.channels.TextableChannel
] The channel where the message to delete all reactions from is. This may be the object or the ID of an existing channel.
- message
hikari.snowflakes.SnowflakeishOr
[hikari.messages.PartialMessage
] The message to delete all reaction from. This may be the object or the ID of an existing message.
- emoji
typing.Union
[str
,hikari.emojis.Emoji
] Object or name of the emoji to get the reactions for.
- channel
- Other Parameters:
- emoji_id
hikari.undefined.UndefinedOr
[hikari.snowflakes.SnowflakeishOr
[hikari.emojis.CustomEmoji
]] ID of the custom emoji to get the reactions for. This should only be provided when a custom emoji’s name is passed for
emoji
.
- emoji_id
- Returns:
hikari.iterators.LazyIterator
[hikari.users.User
]An iterator to fetch the users.
- Raises:
hikari.errors.BadRequestError
If an invalid unicode emoji is given, or if the given custom emoji does not exist.
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the channel or message is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_roles(guild)[source]#
Fetch the roles of a guild.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.guilds.PartialGuild
] The guild to fetch the roles from. This may be the object or the ID of an existing guild.
- guild
- Returns:
typing.Sequence
[hikari.guilds.Role
]The requested roles.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.NotFoundError
If the guild is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.
- abstract async fetch_scheduled_event(guild, event, /)[source]#
Fetch a scheduled event.
- Parameters:
- guild
hikari.snowflakes.SnowflakeishOr
[hikari.channels.PartialGuild
] The guild the event bellongs to. This may be the object or the ID of an existing guild.
- event
hikari.snowflakes.SnowflakeishOr
[hikari.scheduled_events.ScheduledEvent
] The event to fetch. This may be the object or the ID of an existing event.
- guild
- Returns:
hikari.scheduled_events.ScheduledEvent
The scheduled event.
- Raises:
hikari.errors.UnauthorizedError
If you are unauthorized to make the request (invalid/missing token).
hikari.errors.ForbiddenError
If you are missing the permission needed to view this event.
For
VOICE
andSTAGE_CHANNEL
events,VIEW_CHANNEL
is required in their associated guild to see the event.hikari.errors.NotFoundError
If the guild or event is not found.
hikari.errors.RateLimitTooLongError
Raised in the event that a rate limit occurs that is longer than
max_rate_limit
when making a request.hikari.errors.InternalServerError
If an internal error occurs on Discord while handling the request.