Discord.Net.WebSocket
C←S - Used to send most events.
C↔S - Used to keep the connection alive and measure latency.
C→S - Used to associate a connection with a token and specify configuration.
C→S - Used to update client's status and current game id.
C→S - Used to join a particular voice channel.
C→S - Used to ensure the guild's voice server is alive.
C→S - Used to resume a connection after a redirect occurs.
C←S - Used to notify a client that they must reconnect to another gateway.
C→S - Used to request members that were withheld by large_threshold
C←S - Used to notify the client that their session has expired and cannot be resumed.
C←S - Used to provide information to the client immediately on connection.
C←S - Used to reply to a client's heartbeat.
C→S - Used to request presence updates from particular guilds.
C→S - Used to associate a connection with a token.
C→S - Used to specify configuration.
C←S - Used to notify that the voice connection was successful and informs the client of available protocols.
C→S - Used to keep the connection alive and measure latency.
C←S - Used to provide an encryption key to the client.
C↔S - Used to inform that a certain user is speaking.
C←S - Used to reply to a client's heartbeat.
C→S - Used to resume a connection.
C←S - Used to inform the client the heartbeat interval.
C←S - Used to acknowledge a resumed connection.
C←S - Used to notify that a client has disconnected.
The client must be logged in before connecting.
This client is not configured with WebSocket support.
This client is not configured with WebSocket support.
Represents the base of a WebSocket-based Discord client.
Gets the estimated round-trip latency, in milliseconds, to the gateway server.
An that represents the round-trip latency to the WebSocket server. Please
note that this value does not represent a "true" latency for operations such as sending a message.
Gets the status for the logged-in user.
A status object that represents the user's online presence status.
Gets the activity for the logged-in user.
An activity object that represents the user's current activity.
Provides access to a REST-only client with a shared state from this client.
Gets a collection of default stickers.
Gets the current logged-in user.
Gets a collection of guilds that the user is currently in.
A read-only collection of guilds that the current user is in.
Gets a collection of private channels opened in this session.
This method will retrieve all private channels (including direct-message, group channel and such) that
are currently opened in this session.
This method will not return previously opened private channels outside of the current session! If
you have just started the client, this may return an empty collection.
A read-only collection of private channels that the user currently partakes in.
Gets a Discord application information for the logged-in user.
This method reflects your application information you submitted when creating a Discord application via
the Developer Portal.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the application
information.
Gets a generic user.
The user snowflake ID.
This method gets the user present in the WebSocket cache with the given condition.
Sometimes a user may return null due to Discord not sending offline users in large guilds
(i.e. guild with 100+ members) actively. To download users on startup and to see more information
about this subject, see .
This method does not attempt to fetch users that the logged-in user does not have access to (i.e.
users who don't share mutual guild(s) with the current user). If you wish to get a user that you do
not have access to, consider using the REST implementation of
.
A generic WebSocket-based user; null when the user cannot be found.
Gets a user.
This method gets the user present in the WebSocket cache with the given condition.
Sometimes a user may return null due to Discord not sending offline users in large guilds
(i.e. guild with 100+ members) actively. To download users on startup and to see more information
about this subject, see .
This method does not attempt to fetch users that the logged-in user does not have access to (i.e.
users who don't share mutual guild(s) with the current user). If you wish to get a user that you do
not have access to, consider using the REST implementation of
.
The name of the user.
The discriminator value of the user.
A generic WebSocket-based user; null when the user cannot be found.
Gets a channel.
The snowflake identifier of the channel (e.g. `381889909113225237`).
A generic WebSocket-based channel object (voice, text, category, etc.) associated with the identifier;
null when the channel cannot be found.
Gets a guild.
The guild snowflake identifier.
A WebSocket-based guild associated with the snowflake identifier; null when the guild cannot be
found.
Gets all voice regions.
The options to be used when sending the request.
A task that contains a read-only collection of REST-based voice regions.
Gets a voice region.
The identifier of the voice region (e.g. eu-central ).
The options to be used when sending the request.
A task that contains a REST-based voice region associated with the identifier; null if the
voice region is not found.
Sets the current status of the user (e.g. Online, Do not Disturb).
The new status to be set.
A task that represents the asynchronous set operation.
Sets the game of the user.
The name of the game.
If streaming, the URL of the stream. Must be a valid Twitch URL.
The type of the game.
Bot accounts cannot set as their activity
type and it will have no effect.
A task that represents the asynchronous set operation.
Sets the of the logged-in user.
This method sets the of the user.
Discord will only accept setting of name and the type of activity.
Bot accounts cannot set as their activity
type and it will have no effect.
Rich Presence cannot be set via this method or client. Rich Presence is strictly limited to RPC
clients only.
The activity to be set.
A task that represents the asynchronous set operation.
Attempts to download users into the user cache for the selected guilds.
The guilds to download the members from.
A task that represents the asynchronous download operation.
Creates a guild for the logged-in user who is in less than 10 active guilds.
This method creates a new guild on behalf of the logged-in user.
Due to Discord's limitation, this method will only work for users that are in less than 10 guilds.
The name of the new guild.
The voice region to create the guild with.
The icon of the guild.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the created guild.
Gets the connections that the user has set up.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection of connections.
Gets an invite.
The invitation identifier.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the invite information.
Gets a sticker.
Whether or not to allow downloading from the api.
The id of the sticker to get.
The options to be used when sending the request.
A if found, otherwise .
Fired when a channel is created.
This event is fired when a generic channel has been created. The event handler must return a
and accept a as its parameter.
The newly created channel is passed into the event handler parameter. The given channel type may
include, but not limited to, Private Channels (DM, Group), Guild Channels (Text, Voice, Category);
see the derived classes of for more details.
Fired when a channel is destroyed.
This event is fired when a generic channel has been destroyed. The event handler must return a
and accept a as its parameter.
The destroyed channel is passed into the event handler parameter. The given channel type may
include, but not limited to, Private Channels (DM, Group), Guild Channels (Text, Voice, Category);
see the derived classes of for more details.
Fired when a channel is updated.
This event is fired when a generic channel has been destroyed. The event handler must return a
and accept 2 as its parameters.
The original (prior to update) channel is passed into the first , while
the updated channel is passed into the second. The given channel type may include, but not limited
to, Private Channels (DM, Group), Guild Channels (Text, Voice, Category); see the derived classes of
for more details.
Fired when a message is received.
This event is fired when a message is received. The event handler must return a
and accept a as its parameter.
The message that is sent to the client is passed into the event handler parameter as
. This message may be a system message (i.e.
) or a user message (i.e. . See the
derived classes of for more details.
The example below checks if the newly received message contains the target user.
Fired when a message is deleted.
This event is fired when a message is deleted. The event handler must return a
and accept a and
as its parameters.
It is not possible to retrieve the message via
; the message cannot be retrieved by Discord
after the message has been deleted.
If caching is enabled via , the
entity will contain the deleted message; otherwise, in event
that the message cannot be retrieved, the snowflake ID of the message is preserved in the
.
The source channel of the removed message will be passed into the
parameter.
Fired when multiple messages are bulk deleted.
The event will not be fired for individual messages contained in this event.
This event is fired when multiple messages are bulk deleted. The event handler must return a
and accept an and
as its parameters.
It is not possible to retrieve the message via
; the message cannot be retrieved by Discord
after the message has been deleted.
If caching is enabled via , the
entity will contain the deleted message; otherwise, in event
that the message cannot be retrieved, the snowflake ID of the message is preserved in the
.
The source channel of the removed message will be passed into the
parameter.
Fired when a message is updated.
This event is fired when a message is updated. The event handler must return a
and accept a , ,
and as its parameters.
If caching is enabled via , the
entity will contain the original message; otherwise, in event
that the message cannot be retrieved, the snowflake ID of the message is preserved in the
.
The updated message will be passed into the parameter.
The source channel of the updated message will be passed into the
parameter.
Fired when a reaction is added to a message.
This event is fired when a reaction is added to a user message. The event handler must return a
and accept a , an
, and a as its parameter.
If caching is enabled via , the
entity will contain the original message; otherwise, in event
that the message cannot be retrieved, the snowflake ID of the message is preserved in the
.
The source channel of the reaction addition will be passed into the
parameter.
The reaction that was added will be passed into the parameter.
When fetching the reaction from this event, a user may not be provided under
. Please see the documentation of the property for more
information.
Fired when a reaction is removed from a message.
Fired when all reactions to a message are cleared.
Fired when all reactions to a message with a specific emote are removed.
This event is fired when all reactions to a message with a specific emote are removed.
The event handler must return a and accept a and
a as its parameters.
The channel where this message was sent will be passed into the parameter.
The emoji that all reactions had and were removed will be passed into the parameter.
Fired when a role is created.
Fired when a role is deleted.
Fired when a role is updated.
Fired when the connected account joins a guild.
Fired when the connected account leaves a guild.
Fired when a guild becomes available.
Fired when a guild becomes unavailable.
Fired when offline guild members are downloaded.
Fired when a guild is updated.
Fired when a user joins a guild.
Fired when a user leaves a guild.
Fired when a user is banned from a guild.
Fired when a user is unbanned from a guild.
Fired when a user is updated.
Fired when a guild member is updated, or a member presence is updated.
Fired when a user joins, leaves, or moves voice channels.
Fired when the bot connects to a Discord voice server.
Fired when the connected account is updated.
Fired when a user starts typing.
Fired when a user joins a group channel.
Fired when a user is removed from a group channel.
Fired when an invite is created.
This event is fired when an invite is created. The event handler must return a
and accept a as its parameter.
The invite created will be passed into the parameter.
Fired when an invite is deleted.
This event is fired when an invite is deleted. The event handler must return
a and accept a and
as its parameter.
The channel where this invite was created will be passed into the parameter.
The code of the deleted invite will be passed into the parameter.
Fired when an Interaction is created. This event covers all types of interactions including but not limited to: buttons, select menus, slash commands.
This event is fired when an interaction is created. The event handler must return a
and accept a as its parameter.
The interaction created will be passed into the parameter.
Fired when a button is clicked and its interaction is received.
Fired when a select menu is used and its interaction is received.
Fired when a slash command is used and its interaction is received.
Fired when a user command is used and its interaction is received.
Fired when a message command is used and its interaction is received.
Fired when a guild application command is created.
This event is fired when an application command is created. The event handler must return a
and accept a as its parameter.
The command that was deleted will be passed into the parameter.
This event is an undocumented discord event and may break at any time, its not recommended to rely on this event
Fired when a guild application command is updated.
This event is fired when an application command is updated. The event handler must return a
and accept a as its parameter.
The command that was deleted will be passed into the parameter.
This event is an undocumented discord event and may break at any time, its not recommended to rely on this event
Fired when a guild application command is deleted.
This event is fired when an application command is deleted. The event handler must return a
and accept a as its parameter.
The command that was deleted will be passed into the parameter.
This event is an undocumented discord event and may break at any time, its not recommended to rely on this event
Fired when a thread is created within a guild, or when the current user is added to a thread.
Fired when a thread is updated within a guild.
Fired when a thread is deleted.
Fired when a user joins a thread
Fired when a user leaves a thread
Fired when a stage is started.
Fired when a stage ends.
Fired when a stage is updated.
Fired when a user requests to speak within a stage channel.
Fired when a speaker is added in a stage channel.
Fired when a speaker is removed from a stage channel.
Fired when a sticker in a guild is created.
Fired when a sticker in a guild is updated.
Fired when a sticker in a guild is deleted.
Provides access to a REST-only client with a shared state from this client.
Creates a new REST/WebSocket Discord client.
Creates a new REST/WebSocket Discord client.
Creates a new REST/WebSocket Discord client.
Creates a new REST/WebSocket Discord client.
is
Fired when a shard is connected to the Discord gateway.
Fired when a shard is disconnected from the Discord gateway.
Fired when a guild data for a shard has finished downloading.
Fired when a shard receives a heartbeat from the Discord gateway.
Represents a WebSocket-based Discord client.
Provides access to a REST-only client with a shared state from this client.
Gets the shard of of this client.
Gets the current connection state of this client.
Gets a collection of direct message channels opened in this session.
This method returns a collection of currently opened direct message channels.
This method will not return previously opened DM channels outside of the current session! If you
have just started the client, this may return an empty collection.
A collection of DM channels that have been opened in this session.
Gets a collection of group channels opened in this session.
This method returns a collection of currently opened group channels.
This method will not return previously opened group channels outside of the current session! If you
have just started the client, this may return an empty collection.
A collection of group channels that have been opened in this session.
Initializes a new REST/WebSocket-based Discord client.
Initializes a new REST/WebSocket-based Discord client with the provided configuration.
The configuration to be used with the client.
Gets a generic channel from the cache or does a rest request if unavailable.
var channel = await _client.GetChannelAsync(381889909113225237);
if (channel != null && channel is IMessageChannel msgChannel)
{
await msgChannel.SendMessageAsync($"{msgChannel} is created at {msgChannel.CreatedAt}");
}
The snowflake identifier of the channel (e.g. `381889909113225237`).
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the channel associated
with the snowflake identifier; null when the channel cannot be found.
Gets a user from the cache or does a rest request if unavailable.
var user = await _client.GetUserAsync(168693960628371456);
if (user != null)
Console.WriteLine($"{user} is created at {user.CreatedAt}.";
The snowflake identifier of the user (e.g. `168693960628371456`).
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the user associated with
the snowflake identifier; null if the user is not found.
Clears all cached channels from the client.
Clears cached DM channels from the client.
Gets a global application command.
The id of the command.
The options to be used when sending the request.
A ValueTask that represents the asynchronous get operation. The task result contains the application command if found, otherwise
.
Gets a collection of all global commands.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection of global
application commands.
Clears cached users from the client.
Gets a sticker.
The unique identifier of the sticker.
A sticker if found, otherwise .
The following example sets the status of the current user to Do Not Disturb.
await client.SetStatusAsync(UserStatus.DoNotDisturb);
The following example sets the activity of the current user to the specified game name.
await client.SetGameAsync("A Strange Game");
The following example sets the activity of the current user to a streaming status.
await client.SetGameAsync("Great Stream 10/10", "https://twitch.tv/MyAmazingStream1337", ActivityType.Streaming);
Unexpected channel type is created.
Fired when connected to the Discord gateway.
Fired when disconnected to the Discord gateway.
Fired when guild data has finished downloading.
It is possible that some guilds might be unsynced if
was not long enough to receive all GUILD_AVAILABLEs before READY.
Fired when a heartbeat is received from the Discord gateway.
Represents a configuration class for .
This configuration, based on , helps determine several key configurations the
socket client depend on. For instance, shards and connection timeout.
The following config enables the message cache and configures the client to always download user upon guild
availability.
var config = new DiscordSocketConfig
{
AlwaysDownloadUsers = true,
MessageCacheSize = 100
};
var client = new DiscordSocketClient(config);
Returns the encoding gateway should use.
Gets or sets the WebSocket host to connect to. If null, the client will use the
/gateway endpoint.
Gets or sets the time, in milliseconds, to wait for a connection to complete before aborting.
Gets or sets the ID for this shard. Must be less than .
Gets or sets the total number of shards for this application.
Gets or sets the number of messages per channel that should be kept in cache. Setting this to zero
disables the message cache entirely.
Gets or sets the max number of users a guild may have for offline users to be included in the READY
packet. The maximum value allowed is 250.
Gets or sets the provider used to generate new WebSocket connections.
Gets or sets the provider used to generate new UDP sockets.
Gets or sets whether or not all users should be downloaded as guilds come available.
By default, the Discord gateway will only send offline members if a guild has less than a certain number
of members (determined by in this library). This behaviour is why
sometimes a user may be missing from the WebSocket cache for collections such as
.
This property ensures that whenever a guild becomes available (determined by
), incomplete user chunks will be
downloaded to the WebSocket cache.
For more information, please see
Request Guild Members
on the official Discord API documentation.
Please note that it can be difficult to fill the cache completely on large guilds depending on the
traffic. If you are using the command system, the default user TypeReader may fail to find the user
due to this issue. This may be resolved at v3 of the library. Until then, you may want to consider
overriding the TypeReader and use
or
as a backup.
Gets or sets the timeout for event handlers, in milliseconds, after which a warning will be logged.
Setting this property to nulldisables this check.
Gets or sets the maximum identify concurrency.
This information is provided by Discord.
It is only used when using a and auto-sharding is disabled.
Gets or sets the maximum wait time in milliseconds between GUILD_AVAILABLE events before firing READY.
If zero, READY will fire as soon as it is received and all guilds will be unavailable.
This property is measured in milliseconds; negative values will throw an exception.
If a guild is not received before READY, it will be unavailable.
A representing the maximum wait time in milliseconds between GUILD_AVAILABLE events
before firing READY.
Value must be at least 0.
Gets or sets gateway intents to limit what events are sent from Discord.
The default is .
For more information, please see
GatewayIntents
on the official Discord API documentation.
Initializes a new instance of the class with the default configuration.
Represents a generic WebSocket-based audio channel.
Represents a generic WebSocket-based channel that can send and receive messages.
Gets all messages in this channel's cache.
A read-only collection of WebSocket-based messages.
Sends a message to this message channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The message to be sent.
Determines whether the message should be read aloud by Discord or not.
The to be sent.
The options to be used when sending the request.
Specifies if notifications are sent for mentioned users and roles in the message .
If null, all mentioned roles and users will be notified.
The message references to be included. Used to reply to specific messages.
The message components to be included with this message. Used for interactions.
A collection of stickers to send with the message.
A array of s to send with this response. Max 10.
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Sends a file to this message channel with an optional caption.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The file path of the file.
The message to be sent.
Whether the message should be read aloud by Discord or not.
The to be sent.
The options to be used when sending the request.
Whether the message attachment should be hidden as a spoiler.
Specifies if notifications are sent for mentioned users and roles in the message .
If null, all mentioned roles and users will be notified.
The message references to be included. Used to reply to specific messages.
The message components to be included with this message. Used for interactions.
A collection of stickers to send with the file.
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Sends a file to this message channel with an optional caption.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The of the file to be sent.
The name of the attachment.
The message to be sent.
Whether the message should be read aloud by Discord or not.
The to be sent.
The options to be used when sending the request.
Whether the message attachment should be hidden as a spoiler.
Specifies if notifications are sent for mentioned users and roles in the message .
If null, all mentioned roles and users will be notified.
The message references to be included. Used to reply to specific messages.
The message components to be included with this message. Used for interactions.
A collection of stickers to send with the file.
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Gets a cached message from this channel.
This method requires the use of cache, which is not enabled by default; if caching is not enabled,
this method will always return null. Please refer to
for more details.
This method retrieves the message from the local WebSocket cache and does not send any additional
request to Discord. This message may be a message that has been deleted.
The snowflake identifier of the message.
A WebSocket-based message object; null if it does not exist in the cache or if caching is not
enabled.
Gets the last N cached messages from this message channel.
This method requires the use of cache, which is not enabled by default; if caching is not enabled,
this method will always return an empty collection. Please refer to
for more details.
This method retrieves the message(s) from the local WebSocket cache and does not send any additional
request to Discord. This read-only collection may include messages that have been deleted. The
maximum number of messages that can be retrieved from this method depends on the
set.
The number of messages to get.
A read-only collection of WebSocket-based messages.
Gets the last N cached messages starting from a certain message in this message channel.
This method requires the use of cache, which is not enabled by default; if caching is not enabled,
this method will always return an empty collection. Please refer to
for more details.
This method retrieves the message(s) from the local WebSocket cache and does not send any additional
request to Discord. This read-only collection may include messages that have been deleted. The
maximum number of messages that can be retrieved from this method depends on the
set.
The message ID to start the fetching from.
The direction of which the message should be gotten from.
The number of messages to get.
A read-only collection of WebSocket-based messages.
Gets the last N cached messages starting from a certain message in this message channel.
This method requires the use of cache, which is not enabled by default; if caching is not enabled,
this method will always return an empty collection. Please refer to
for more details.
This method retrieves the message(s) from the local WebSocket cache and does not send any additional
request to Discord. This read-only collection may include messages that have been deleted. The
maximum number of messages that can be retrieved from this method depends on the
set.
The message to start the fetching from.
The direction of which the message should be gotten from.
The number of messages to get.
A read-only collection of WebSocket-based messages.
Gets a read-only collection of pinned messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The options to be used when sending the request.
A task that represents the asynchronous get operation for retrieving pinned messages in this channel.
The task result contains a read-only collection of messages found in the pinned messages.
Represents a generic WebSocket-based channel that is private to select recipients.
Represents a WebSocket-based category channel.
Gets the child channels of this category.
A read-only collection of whose
matches the snowflake identifier of this category
channel.
Represents a WebSocket-based channel.
Gets when the channel is created.
Gets a collection of users from the WebSocket cache.
Unexpected channel type is created.
Gets a generic user from this channel.
The snowflake identifier of the user.
A generic WebSocket-based user associated with the snowflake identifier.
Unexpected type.
Unexpected type.
Represents a WebSocket-based direct-message channel.
Gets the recipient of the channel.
Gets a collection that is the current logged-in user and the recipient.
Gets the message associated with the given .
TThe ID of the message.
The options to be used when sending the request.
The message gotten from either the cache or the download, or null if none is found.
Gets the last N messages from this message channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Gets a collection of messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The ID of the starting message to get the messages from.
The direction of the messages to be gotten from.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Gets a collection of messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The starting message to get the messages from.
The direction of the messages to be gotten from.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Message content is too long, length must be less or equal to .
Message content is too long, length must be less or equal to .
Gets a user in this channel from the provided .
The snowflake identifier of the user.
A object that is a recipient of this channel; otherwise null.
Returns the recipient user.
Represents a WebSocket-based private group channel.
Returns a collection representing all of the users in the group.
Returns a collection representing all users in the group, not including the client.
Voice is not yet supported for group channels.
Gets a message from this message channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The snowflake identifier of the message.
The options to be used when sending the request.
A task that represents an asynchronous get operation for retrieving the message. The task result contains
the retrieved message; null if no message is found with the specified identifier.
Gets the last N messages from this message channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Gets a collection of messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The ID of the starting message to get the messages from.
The direction of the messages to be gotten from.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Gets a collection of messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The starting message to get the messages from.
The direction of the messages to be gotten from.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Message content is too long, length must be less or equal to .
Message content is too long, length must be less or equal to .
Gets a user from this group.
The snowflake identifier of the user.
A WebSocket-based group user associated with the snowflake identifier.
Returns the name of the group.
Connecting to a group channel is not supported.
Represents a WebSocket-based guild channel.
Gets the guild associated with this channel.
A guild object that this channel belongs to.
Gets a collection of users that are able to view the channel.
A read-only collection of users that can access the channel (i.e. the users seen in the user list).
Gets the permission overwrite for a specific user.
The user to get the overwrite from.
An overwrite object for the targeted user; null if none is set.
Gets the permission overwrite for a specific role.
The role to get the overwrite from.
An overwrite object for the targeted role; null if none is set.
Adds or updates the permission overwrite for the given user.
The user to add the overwrite to.
The overwrite to add to the user.
The options to be used when sending the request.
A task representing the asynchronous permission operation for adding the specified permissions to the channel.
Adds or updates the permission overwrite for the given role.
The role to add the overwrite to.
The overwrite to add to the role.
The options to be used when sending the request.
A task representing the asynchronous permission operation for adding the specified permissions to the channel.
Removes the permission overwrite for the given user, if one exists.
The user to remove the overwrite from.
The options to be used when sending the request.
A task representing the asynchronous operation for removing the specified permissions from the channel.
Removes the permission overwrite for the given role, if one exists.
The role to remove the overwrite from.
The options to be used when sending the request.
A task representing the asynchronous operation for removing the specified permissions from the channel.
Gets the name of the channel.
A string that resolves to .
Represents a WebSocket-based news channel in a guild that has the same properties as a .
The property is not supported for news channels.
This property is not supported by this type. Attempting to use this property will result in a .
Represents a stage channel recieved over the gateway.
Returns if the current user is a speaker within the stage, otherwise .
Gets a collection of users who are speakers within the stage.
Represents a WebSocket-based channel in a guild that can send and receive messages.
Gets the parent (category) of this channel in the guild's channel list.
An representing the parent of this channel; null if none is set.
Gets a collection of threads within this text channel.
Creates a thread within this .
When is the thread type will be based off of the
channel its created in. When called on a , it creates a .
When called on a , it creates a . The id of the created
thread will be the same as the id of the message, and as such a message can only have a
single thread created from it.
The name of the thread.
The type of the thread.
Note: This parameter is not used if the parameter is not specified.
The duration on which this thread archives after.
Note: Options and
are only available for guilds that are boosted. You can check in the to see if the
guild has the THREE_DAY_THREAD_ARCHIVE and SEVEN_DAY_THREAD_ARCHIVE.
The message which to start the thread from.
The options to be used when sending the request.
A task that represents the asynchronous create operation. The task result contains a
Gets a message from this message channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The snowflake identifier of the message.
The options to be used when sending the request.
A task that represents an asynchronous get operation for retrieving the message. The task result contains
the retrieved message; null if no message is found with the specified identifier.
Gets the last N messages from this message channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Gets a collection of messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The ID of the starting message to get the messages from.
The direction of the messages to be gotten from.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Gets a collection of messages in this channel.
This method follows the same behavior as described in .
Please visit its documentation for more details on this method.
The starting message to get the messages from.
The direction of the messages to be gotten from.
The numbers of message to be gotten from.
The options to be used when sending the request.
Paged collection of messages.
Message content is too long, length must be less or equal to .
Message content is too long, length must be less or equal to .
Creates a webhook in this text channel.
The name of the webhook.
The avatar of the webhook.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the newly created
webhook.
Gets a webhook available in this text channel.
The identifier of the webhook.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a webhook associated
with the identifier; null if the webhook is not found.
Gets the webhooks available in this text channel.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection
of webhooks that is available in this channel.
Represents a thread channel inside of a guild.
Gets the owner of the current thread.
Gets the current users within this thread.
if this thread is private, otherwise
Gets the parent channel this thread resides in.
Gets a collection of cached users within this thread.
Gets all users inside this thread.
If all users are not downloaded then this method will call and return the result.
The options to be used when sending the request.
A task representing the download operation.
Downloads all users that have access to this thread.
The options to be used when sending the request.
A task representing the asyncronous download operation.
Adds a user to this thread.
The to add.
The options to be used when sending the request.
A task that represents the asynchronous operation of adding a member to a thread.
Removes a user from this thread.
The to remove from this thread.
The options to be used when sending the request.
A task that represents the asynchronous operation of removing a user from this thread.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
This method is not supported in threads.
Represents a WebSocket-based voice channel in a guild.
Gets the parent (category) channel of this channel.
A category channel representing the parent of this channel; null if none is set.
Gets a collection of users that are currently connected to this voice channel.
A read-only collection of users that are currently connected to this voice channel.
Represents a WebSocket-based guild object.
Gets the number of members.
This property retrieves the number of members returned by Discord.
Due to how this property is returned by Discord instead of relying on the WebSocket cache, the
number here is the most accurate in terms of counting the number of users within this guild.
Use this instead of enumerating the count of the
collection, as you may see discrepancy
between that and this property.
Gets the number of members downloaded to the local guild cache.
Indicates whether the client is connected to this guild.
Gets the user that owns this guild.
Indicates whether the client has all the members downloaded to the local guild cache.
Indicates whether the guild cache is synced to this guild.
Gets the associated with this guild.
Gets the default channel in this guild.
This property retrieves the first viewable text channel for this guild.
This channel does not guarantee the user can send message to it, as it only looks for the first viewable
text channel.
A representing the first viewable channel that the user has access to.
Gets the AFK voice channel in this guild.
A that the AFK users will be moved to after they have idled for too
long; if none is set.
Gets the max bitrate for voice channels in this guild.
A representing the maximum bitrate value allowed by Discord in this guild.
Gets the widget channel (i.e. the channel set in the guild's widget settings) in this guild.
A channel set within the server's widget settings; if none is set.
Gets the system channel where randomized welcome messages are sent in this guild.
A text channel where randomized welcome messages will be sent to; if none is set.
Gets the channel with the guild rules.
A text channel with the guild rules; if none is set.
Gets the channel where admins and moderators of Community guilds receive
notices from Discord.
A text channel where admins and moderators of Community guilds receive
notices from Discord; if none is set.
Gets a collection of all text channels in this guild.
A read-only collection of message channels found within this guild.
Gets a collection of all voice channels in this guild.
A read-only collection of voice channels found within this guild.
Gets a collection of all stage channels in this guild.
A read-only collection of stage channels found within this guild.
Gets a collection of all category channels in this guild.
A read-only collection of category channels found within this guild.
Gets a collection of all thread channels in this guild.
A read-only collection of thread channels found within this guild.
Gets the current logged-in user.
Gets the built-in role containing all users in this guild.
A role object that represents an @everyone role in this guild.
Gets a collection of all channels in this guild.
A read-only collection of generic channels found within this guild.
Gets a collection of all custom stickers for this guild.
Gets a collection of users in this guild.
This property retrieves all users found within this guild.
This property may not always return all the members for large guilds (i.e. guilds containing
100+ users). If you are simply looking to get the number of users present in this guild,
consider using instead.
Otherwise, you may need to enable to fetch
the full user list upon startup, or use to manually download
the users.
A collection of guild users found within this guild.
Gets a collection of all roles in this guild.
A read-only collection of roles found within this guild.
is .
is .
Gets a collection of all users banned in this guild.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection of
ban objects that this guild currently possesses, with each object containing the user banned and reason
behind the ban.
Gets a ban object for a banned user.
The banned user.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a ban object, which
contains the user information and the reason for the ban; if the ban entry cannot be found.
Gets a ban object for a banned user.
The snowflake identifier for the banned user.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a ban object, which
contains the user information and the reason for the ban; if the ban entry cannot be found.
Gets a channel in this guild.
The snowflake identifier for the channel.
A generic channel associated with the specified ; if none is found.
Gets a text channel in this guild.
The snowflake identifier for the text channel.
A text channel associated with the specified ; if none is found.
Gets a thread in this guild.
The snowflake identifier for the thread.
A thread channel associated with the specified ; if none is found.
Gets a voice channel in this guild.
The snowflake identifier for the voice channel.
A voice channel associated with the specified ; if none is found.
Gets a stage channel in this guild.
The snowflake identifier for the stage channel.
A stage channel associated with the specified ; if none is found.
Gets a category channel in this guild.
The snowflake identifier for the category channel.
A category channel associated with the specified ; if none is found.
Creates a new text channel in this guild.
The following example creates a new text channel under an existing category named Wumpus with a set topic.
var categories = await guild.GetCategoriesAsync();
var targetCategory = categories.FirstOrDefault(x => x.Name == "wumpus");
if (targetCategory == null) return;
await Context.Guild.CreateTextChannelAsync(name, x =>
{
x.CategoryId = targetCategory.Id;
x.Topic = $"This channel was created at {DateTimeOffset.UtcNow} by {user}.";
});
The new name for the text channel.
The delegate containing the properties to be applied to the channel upon its creation.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the newly created
text channel.
Creates a new voice channel in this guild.
The new name for the voice channel.
The delegate containing the properties to be applied to the channel upon its creation.
The options to be used when sending the request.
is .
A task that represents the asynchronous creation operation. The task result contains the newly created
voice channel.
Creates a new stage channel in this guild.
The new name for the stage channel.
The delegate containing the properties to be applied to the channel upon its creation.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the newly created
stage channel.
Creates a new channel category in this guild.
The new name for the category.
The delegate containing the properties to be applied to the channel upon its creation.
The options to be used when sending the request.
is .
A task that represents the asynchronous creation operation. The task result contains the newly created
category channel.
Gets a collection of all the voice regions this guild can access.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection of
voice regions the guild can access.
Deletes all application commands in the current guild.
The options to be used when sending the request.
A task that represents the asynchronous delete operation.
Gets a collection of slash commands created by the current user in this guild.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection of
slash commands created by the current user.
Gets an application command within this guild with the specified id.
The id of the application command to get.
The that determines whether the object should be fetched from cache.
The options to be used when sending the request.
A ValueTask that represents the asynchronous get operation. The task result contains a
if found, otherwise .
Creates an application command within this guild.
The properties to use when creating the command.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the command that was created.
Overwrites the application commands within this guild.
A collection of properties to use when creating the commands.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains a collection of commands that was created.
Gets a collection of all invites in this guild.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection of
invite metadata, each representing information for an invite found within this guild.
Gets the vanity invite URL of this guild.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the partial metadata of
the vanity invite found within this guild; if none is found.
Gets a role in this guild.
The snowflake identifier for the role.
A role that is associated with the specified ; if none is found.
Creates a new role with the provided name.
The new name for the role.
The guild permission that the role should possess.
The color of the role.
Whether the role is separated from others on the sidebar.
Whether the role can be mentioned.
The options to be used when sending the request.
is .
A task that represents the asynchronous creation operation. The task result contains the newly created
role.
Gets a user from this guild.
This method retrieves a user found within this guild.
This may return in the WebSocket implementation due to incomplete user collection in
large guilds.
The snowflake identifier of the user.
A guild user associated with the specified ; if none is found.
Gets a collection of all users in this guild.
This method retrieves all users found within this guild throught REST.
Users returned by this method are not cached.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a collection of guild
users found within this guild.
Gets a collection of users in this guild that the name or nickname starts with the
provided at .
The can not be higher than .
The partial name or nickname to search.
The maximum number of users to be gotten.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a collection of guild
users that the name or nickname starts with the provided at .
Gets the specified number of audit log entries for this guild.
The number of audit log entries to fetch.
The options to be used when sending the request.
The audit log entry ID to filter entries before.
The type of actions to filter.
The user ID to filter entries for.
A task that represents the asynchronous get operation. The task result contains a read-only collection
of the requested audit log entries.
Gets a webhook found within this guild.
The identifier for the webhook.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the webhook with the
specified ; if none is found.
Gets a collection of all webhook from this guild.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection
of webhooks found within the guild.
is .
Moves the user to the voice channel.
The user to move.
the channel where the user gets moved to.
A task that represents the asynchronous operation for moving a user.
Disconnects the user from its current voice channel
The user to disconnect.
A task that represents the asynchronous operation for disconnecting a user.
Gets a specific sticker within this guild.
The id of the sticker to get.
The that determines whether the object should be fetched from cache.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains the sticker found with the
specified ; if none is found.
Gets a specific sticker within this guild.
The id of the sticker to get.
A sticker, if none is found then .
Gets a collection of all stickers within this guild.
The that determines whether the object should be fetched from cache.
The options to be used when sending the request.
A task that represents the asynchronous get operation. The task result contains a read-only collection
of stickers found within the guild.
Creates a new sticker in this guild.
The name of the sticker.
The description of the sticker.
The tags of the sticker.
The image of the new emote.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the created sticker.
Creates a new sticker in this guild
The name of the sticker.
The description of the sticker.
The tags of the sticker.
The path of the file to upload.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the created sticker.
Creates a new sticker in this guild
The name of the sticker.
The description of the sticker.
The tags of the sticker.
The stream containing the file data.
The name of the file with the extension, ex: image.png.
The options to be used when sending the request.
A task that represents the asynchronous creation operation. The task result contains the created sticker.
Deletes a sticker within this guild.
The sticker to delete.
The options to be used when sending the request.
A task that represents the asynchronous removal operation.
Gets the name of the guild.
A string that resolves to .
Represents a Websocket-based slash command received over the gateway.
The data associated with this interaction.
Represents the data tied with the interaction.
Gets the messagte associated with this message command.
Note Not implemented for
Represents a Websocket-based slash command received over the gateway.
The data associated with this interaction.
Represents the data tied with the interaction.
Gets the user who this command targets.
Note Not implemented for
Represents a Websocket-based interaction type for Message Components.
The data received with this interaction, contains the button that was clicked.
The message that contained the trigger for this interaction.
Updates the message which this component resides in with the type
A delegate containing the properties to modify the message with.
The request options for this async request.
A task that represents the asynchronous operation of updating the message.
Defers an interaction and responds with type 5 ()
to send this message ephemerally, otherwise .
The request options for this async request.
A task that represents the asynchronous operation of acknowledging the interaction.
Represents the data sent with a .
The components Custom Id that was clicked
The type of the component clicked
The value(s) of a interaction response.
Represents a received over the gateway.
The autocomplete data of this interaction.
Responds to this interaction with a set of choices.
The set of choices for the user to pick from.
A max of 20 choices are allowed. Passing for this argument will show the executing user that
there is no choices for their autocompleted input.
The request options for this response.
A task that represents the asynchronous operation of responding to this interaction.
Responds to this interaction with a set of choices.
The request options for this response.
The set of choices for the user to pick from.
A max of 20 choices are allowed. Passing for this argument will show the executing user that
there is no choices for their autocompleted input.
A task that represents the asynchronous operation of responding to this interaction.
Represents data for a slash commands autocomplete interaction.
Gets the name of the invoked command.
Gets the id of the invoked command.
Gets the type of the invoked command.
Gets the version of the invoked command.
Gets the current autocomplete option that is activly being filled out.
Gets a collection of all the other options the executing users has filled out.
Represents a Websocket-based slash command received over the gateway.
The data associated with this interaction.
Represents the data tied with the interaction.
Represents a Websocket-based recieved by the gateway
The sub command options received for this sub command group.
Represends a Websocket-based .
if this command is a global command, otherwise .
A collection of 's for this command.
If the is not a slash command, this field will be an empty collection.
Returns the guild this command resides in, if this command is a global command then it will return
Represents a choice for a .
Represents an option for a .
Choices for string and int types for the user to pick from.
If the option is a subcommand or subcommand group type, this nested options will be the parameters.
Base class for User, Message, and Slash command interactions.
Gets the name of the invoked command.
Gets the id of the invoked command.
The data associated with this interaction.
Acknowledges this interaction with the .
A task that represents the asynchronous operation of acknowledging the interaction.
Represents the base data tied with the interaction.
The received with this interaction.
Represents the base data tied with the interaction.
Represents an Interaction recieved over the gateway.
The this interaction was used in.
The who triggered this interaction.
The type of this interaction.
The token used to respond to this interaction.
The data sent with this interaction.
The version of this interaction.
if the token is valid for replying to, otherwise .
Responds to an Interaction with type .
If you have set to , You should use
instead.
The text of the message to be sent.
A array of embeds to send with this response. Max 10.
if the message should be read out by a text-to-speech reader, otherwise .
if the response should be hidden to everyone besides the invoker of the command, otherwise .
The allowed mentions for this response.
The request options for this response.
A to be sent with this response.
A single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
Message content is too long, length must be less or equal to .
The parameters provided were invalid or the token was invalid.
Sends a followup message for this interaction.
The text of the message to be sent.
A array of embeds to send with this response. Max 10.
if the message should be read out by a text-to-speech reader, otherwise .
if the response should be hidden to everyone besides the invoker of the command, otherwise .
The allowed mentions for this response.
The request options for this response.
A to be sent with this response.
A single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
The sent message.
Sends a followup message for this interaction.
The text of the message to be sent.
The file to upload.
The file name of the attachment.
A array of embeds to send with this response. Max 10.
if the message should be read out by a text-to-speech reader, otherwise .
if the response should be hidden to everyone besides the invoker of the command, otherwise .
The allowed mentions for this response.
The request options for this response.
A to be sent with this response.
A single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
The sent message.
Sends a followup message for this interaction.
The text of the message to be sent.
The file to upload.
The file name of the attachment.
A array of embeds to send with this response. Max 10.
if the message should be read out by a text-to-speech reader, otherwise .
if the response should be hidden to everyone besides the invoker of the command, otherwise .
The allowed mentions for this response.
The request options for this response.
A to be sent with this response.
A single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
The sent message.
Gets the original response for this interaction.
The request options for this async request.
A that represents the initial response.
Edits original response for this interaction.
A delegate containing the properties to modify the message with.
The request options for this async request.
A that represents the initial response.
Acknowledges this interaction.
to send this message ephemerally, otherwise .
The request options for this async request.
A task that represents the asynchronous operation of acknowledging the interaction.
Represents a WebSocket-based invite to a guild.
Gets the channel where this invite was created.
Gets the guild where this invite was created.
Gets the time (in seconds) until the invite expires.
Gets the max number of uses this invite may have.
Gets the number of times this invite has been used.
Gets the user that created this invite if available.
Gets when this invite was created.
Gets the user targeted by this invite if available.
Gets the type of the user targeted by this invite.
Gets the URL of the invite.
A string that resolves to the Url of the invite.
is less than 0.
Represents a WebSocket-based message.
Gets the author of this message.
A WebSocket-based user object.
Gets the source channel of the message.
A WebSocket-based message channel.
Returns all attachments included in this message.
Collection of attachments.
Returns all embeds included in this message.
Collection of embed objects.
Returns the channels mentioned in this message.
Collection of WebSocket-based guild channels.
Returns the roles mentioned in this message.
Collection of WebSocket-based roles.
Returns the users mentioned in this message.
Collection of WebSocket-based users.
Gets the content of the message.
Content of the message.
Represents a WebSocket-based reaction object.
Gets the ID of the user who added the reaction.
This property retrieves the snowflake identifier of the user responsible for this reaction. This
property will always contain the user identifier in event that
cannot be retrieved.
A user snowflake identifier associated with the user.
Gets the user who added the reaction if possible.
This property attempts to retrieve a WebSocket-cached user that is responsible for this reaction from
the client. In other words, when the user is not in the WebSocket cache, this property may not
contain a value, leaving the only identifiable information to be
.
If you wish to obtain an identifiable user object, consider utilizing
which will attempt to retrieve the user from REST.
A user object where possible; a value is not always returned.
Gets the ID of the message that has been reacted to.
A message snowflake identifier associated with the message.
Gets the message that has been reacted to if possible.
A WebSocket-based message where possible; a value is not always returned.
Gets the channel where the reaction takes place in.
A WebSocket-based message channel.
Represents a WebSocket-based message sent by the system.
Represents a WebSocket-based message sent by a user.
Only the author of a message may modify the message.
Message content is too long, length must be less or equal to .
This operation may only be called on a channel.
Represents a WebSocket-based role to be given to a guild user.
Gets the guild that owns this role.
A representing the parent guild of this role.
Returns a value that determines if the role is an @everyone role.
true if the role is @everyone; otherwise false.
Returns an IEnumerable containing all that have this role.
Gets the name of the role.
A string that resolves to .
Represents a custom sticker within a guild received over the gateway.
Gets the user that uploaded the guild sticker.
This may return in the WebSocket implementation due to incomplete user collection in
large guilds, or the bot doesnt have the MANAGE_EMOJIS_AND_STICKERS permission.
Gets the guild the sticker was created in.
Represents a general sticker received over the gateway.
Represents an unknown sticker received over the gateway.
Attempts to try to find the sticker.
The sticker representing this unknown stickers Id, if none is found then .
Represents a WebSocket-based group user.
Gets the group channel of the user.
A representing the channel of which the user belongs to.
Represents a WebSocket-based guild user.
Gets the guild the user is in.
Returns a collection of roles that the user possesses.
Returns the voice channel the user is in, or null if none.
Gets the voice connection status of the user if any.
A representing the user's voice status; null if the user is not
connected to a voice channel.
Returns the position of the user within the role hierarchy.
The returned value equal to the position of the highest role the user has, or
if user is the server owner.
Represents the WebSocket user's presence status. This may include their online status and their activity.
Creates a new containing all of the client types
where a user is active from the data supplied in the Presence update frame.
A dictionary keyed by the
and where the value is the .
A collection of all s that this user is active.
Creates a new containing all the activities
that a user has from the data supplied in the Presence update frame.
A list of .
A list of all that this user currently has available.
Gets the status of the user.
A string that resolves to .
Represents the logged-in WebSocket-based user.
Represents a thread user received over the gateway.
Gets the this user is in.
Gets the timestamp for when this user joined this thread.
Gets the guild this user is in.
Gets the guild user of this thread user.
Represents a WebSocket-based user that is yet to be recognized by the client.
A user may not be recognized due to the user missing from the cache or failed to be recognized properly.
This field is not supported for an unknown user.
Represents a WebSocket-based user.
Gets mutual guilds shared with this user.
This property will only include guilds in the same .
Gets the full name of the user (e.g. Example#0001).
The full name of the user.
Represents a WebSocket user's voice connection status.
Initializes a default with everything set to null or false.
Gets the voice channel that the user is currently in; or null if none.
Gets the name of this voice channel.
A string that resolves to name of this voice channel; otherwise "Unknown".
Represents a WebSocket-based webhook user.
Gets the guild of this webhook.
Webhook users does not support banners.
Webhook users does not support accent colors.
Webhook users cannot be kicked.
Webhook users cannot be modified.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Roles are not supported on webhook users.
Represents a WebSocket-based voice server.
Gets the guild associated with the voice server.
A cached entity of the guild.
Gets the endpoint URL of the voice server host.
An URL representing the voice server host.
Gets the voice connection token.
A voice connection token.
The exception thrown when the gateway client has been requested to reconnect.
Initializes a new instance of the class with the reconnection
message.
The reason why the gateway has been requested to reconnect.
Creates a new REST/WebSocket discord client.
Wraps another stream with a timed buffer.
Reads the payload from an RTP frame
Converts Opus to PCM
Header received with no payload.
Received payload without an RTP header.
Converts PCM to Opus
Wraps an IAudioClient, sending voice data on write.
Reads the payload from an RTP frame
The token has had cancellation requested.
The associated has been disposed.
Wraps data in an RTP frame
Decrypts an RTP frame using libsodium.
Encrypts an RTP frame using libsodium.
Header received with no payload.
Received payload without an RTP header.
The token has had cancellation requested.
The associated has been disposed.
The sharded variant of , which may contain the client, user, guild, channel, and message.
Gets the that the command is executed with.
Gets the shard ID of the command context.
Represents a WebSocket-based context of a command. This may include the client, guild, channel, user, and message.
Gets the that the command is executed with.
Gets the that the command is executed in.
Gets the that the command is executed in.
Gets the who executed the command.
Gets the that the command is interpreted from.
Indicates whether the channel that the command is executed in is a private channel.
Initializes a new class with the provided client and message.
The underlying client.
The underlying message.
The default WebSocketProvider is not supported on this platform.