Class SocketVoiceChannel
Represents a WebSocket-based voice channel in a guild.
Inheritance
Implements
Inherited Members
Namespace: Discord.WebSocket
Assembly: Discord.Net.WebSocket.dll
Syntax
public class SocketVoiceChannel : SocketTextChannel, IEntity<ulong>, ITextChannel, ISocketMessageChannel, IVoiceChannel, IMessageChannel, INestedChannel, IGuildChannel, IDeletable, IMentionable, ISocketAudioChannel, IAudioChannel, IChannel, ISnowflakeEntity, IEntity<ulong>
Properties
| Improve this Doc View SourceBitrate
Declaration
public int Bitrate { get; }
Property Value
Type | Description |
---|---|
Int32 |
ConnectedUsers
Gets a collection of users that are currently connected to this voice channel.
Declaration
public IReadOnlyCollection<SocketGuildUser> ConnectedUsers { get; }
Property Value
Type | Description |
---|---|
IReadOnlyCollection<SocketGuildUser> | A read-only collection of users that are currently connected to this voice channel. |
IsTextInVoice
Gets whether or not the guild has Text-In-Voice enabled and the voice channel is a TiV channel.
Declaration
public virtual bool IsTextInVoice { get; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
Discord currently doesn't have a way to disable Text-In-Voice yet so this field is always true on SocketVoiceChannels and false on SocketStageChannels.
RTCRegion
Declaration
public string RTCRegion { get; }
Property Value
Type | Description |
---|---|
String |
UserLimit
Declaration
public int? UserLimit { get; }
Property Value
Type | Description |
---|---|
Nullable<Int32> |
Methods
| Improve this Doc View SourceConnectAsync(Boolean, Boolean, Boolean)
Declaration
public async Task<IAudioClient> ConnectAsync(bool selfDeaf = false, bool selfMute = false, bool external = false)
Parameters
Type | Name | Description |
---|---|---|
Boolean | selfDeaf | |
Boolean | selfMute | |
Boolean | external |
Returns
Type | Description |
---|---|
Task<IAudioClient> |
CreateThreadAsync(String, ThreadType, ThreadArchiveDuration, IMessage, Nullable<Boolean>, Nullable<Int32>, RequestOptions)
Creates a thread within this ITextChannel.
Declaration
public override Task<SocketThreadChannel> CreateThreadAsync(string name, ThreadType type = default(ThreadType), ThreadArchiveDuration autoArchiveDuration = default(ThreadArchiveDuration), IMessage message = null, bool? invitable = null, int? slowmode = null, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the thread. |
ThreadType | type | The type of the thread.
Note: This parameter is not used if the |
ThreadArchiveDuration | autoArchiveDuration | The duration on which this thread archives after. Note: Options OneWeek and ThreeDays are only available for guilds that are boosted. You can check in the Features to see if the guild has the THREE_DAY_THREAD_ARCHIVE and SEVEN_DAY_THREAD_ARCHIVE. |
IMessage | message | The message which to start the thread from. |
Nullable<Boolean> | invitable | |
Nullable<Int32> | slowmode | |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<SocketThreadChannel> | A task that represents the asynchronous create operation. The task result contains a IThreadChannel |
Overrides
Remarks
When message
is null the thread type will be based off of the
channel its created in. When called on a ITextChannel, it creates a PublicThread.
When called on a INewsChannel, it creates a NewsThread. 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.
CreateWebhookAsync(String, Stream, RequestOptions)
Creates a webhook in this text channel.
Declaration
public override Task<RestWebhook> CreateWebhookAsync(string name, Stream avatar = null, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
String | name | The name of the webhook. |
Stream | avatar | The avatar of the webhook. |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<RestWebhook> | A task that represents the asynchronous creation operation. The task result contains the newly created webhook. |
Overrides
| Improve this Doc View SourceDeleteMessageAsync(IMessage, RequestOptions)
Declaration
public override Task DeleteMessageAsync(IMessage message, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
IMessage | message | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
Overrides
| Improve this Doc View SourceDeleteMessageAsync(UInt64, RequestOptions)
Declaration
public override Task DeleteMessageAsync(ulong messageId, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | messageId | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
Overrides
| Improve this Doc View SourceDeleteMessagesAsync(IEnumerable<IMessage>, RequestOptions)
Declaration
public override Task DeleteMessagesAsync(IEnumerable<IMessage> messages, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IMessage> | messages | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
Overrides
| Improve this Doc View SourceDeleteMessagesAsync(IEnumerable<UInt64>, RequestOptions)
Declaration
public override Task DeleteMessagesAsync(IEnumerable<ulong> messageIds, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<UInt64> | messageIds | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
Overrides
| Improve this Doc View SourceDisconnectAsync()
Declaration
public async Task DisconnectAsync()
Returns
Type | Description |
---|---|
Task |
EnterTypingState(RequestOptions)
Declaration
public override IDisposable EnterTypingState(RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
RequestOptions | options |
Returns
Type | Description |
---|---|
IDisposable |
Overrides
| Improve this Doc View SourceGetCachedMessage(UInt64)
Gets a cached message from this channel.
Declaration
public override SocketMessage GetCachedMessage(ulong id)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | id | The snowflake identifier of the message. |
Returns
Type | Description |
---|---|
SocketMessage | A WebSocket-based message object; |
Overrides
Remarks
warning
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
MessageCacheSize 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.
GetCachedMessages(IMessage, Direction, Int32)
Gets the last N cached messages starting from a certain message in this message channel.
Declaration
public override IReadOnlyCollection<SocketMessage> GetCachedMessages(IMessage fromMessage, Direction dir, int limit = 100)
Parameters
Type | Name | Description |
---|---|---|
IMessage | fromMessage | The message to start the fetching from. |
Direction | dir | The direction of which the message should be gotten from. |
Int32 | limit | The number of messages to get. |
Returns
Type | Description |
---|---|
IReadOnlyCollection<SocketMessage> | A read-only collection of WebSocket-based messages. |
Overrides
Remarks
warning
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 MessageCacheSize 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 MessageCacheSize set.
GetCachedMessages(Int32)
Gets the last N cached messages from this message channel.
Declaration
public override IReadOnlyCollection<SocketMessage> GetCachedMessages(int limit = 100)
Parameters
Type | Name | Description |
---|---|---|
Int32 | limit | The number of messages to get. |
Returns
Type | Description |
---|---|
IReadOnlyCollection<SocketMessage> | A read-only collection of WebSocket-based messages. |
Overrides
Remarks
warning
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 MessageCacheSize 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 MessageCacheSize set.
GetCachedMessages(UInt64, Direction, Int32)
Gets the last N cached messages starting from a certain message in this message channel.
Declaration
public override IReadOnlyCollection<SocketMessage> GetCachedMessages(ulong fromMessageId, Direction dir, int limit = 100)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | fromMessageId | The message ID to start the fetching from. |
Direction | dir | The direction of which the message should be gotten from. |
Int32 | limit | The number of messages to get. |
Returns
Type | Description |
---|---|
IReadOnlyCollection<SocketMessage> | A read-only collection of WebSocket-based messages. |
Overrides
Remarks
warning
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 MessageCacheSize 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 MessageCacheSize set.
GetMessageAsync(UInt64, RequestOptions)
Gets a message from this message channel.
Declaration
public override Task<IMessage> GetMessageAsync(ulong id, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | id | The snowflake identifier of the message. |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<IMessage> | A task that represents an asynchronous get operation for retrieving the message. The task result contains
the retrieved message; |
Overrides
Remarks
This method follows the same behavior as described in GetMessageAsync(UInt64, CacheMode, RequestOptions). Please visit its documentation for more details on this method.
GetMessagesAsync(IMessage, Direction, Int32, RequestOptions)
Gets a collection of messages in this channel.
Declaration
public override IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(IMessage fromMessage, Direction dir, int limit = 100, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
IMessage | fromMessage | The starting message to get the messages from. |
Direction | dir | The direction of the messages to be gotten from. |
Int32 | limit | The numbers of message to be gotten from. |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IReadOnlyCollection<IMessage>> | Paged collection of messages. |
Overrides
Remarks
This method follows the same behavior as described in
GetMessagesAsync(Int32, RequestOptions)
Gets the last N messages from this message channel.
Declaration
public override IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(int limit = 100, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
Int32 | limit | The numbers of message to be gotten from. |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IReadOnlyCollection<IMessage>> | Paged collection of messages. |
Overrides
Remarks
This method follows the same behavior as described in
GetMessagesAsync(UInt64, Direction, Int32, RequestOptions)
Gets a collection of messages in this channel.
Declaration
public override IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = 100, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | fromMessageId | The ID of the starting message to get the messages from. |
Direction | dir | The direction of the messages to be gotten from. |
Int32 | limit | The numbers of message to be gotten from. |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<IReadOnlyCollection<IMessage>> | Paged collection of messages. |
Overrides
Remarks
This method follows the same behavior as described in
GetPinnedMessagesAsync(RequestOptions)
Gets a read-only collection of pinned messages in this channel.
Declaration
public override Task<IReadOnlyCollection<RestMessage>> GetPinnedMessagesAsync(RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<IReadOnlyCollection<RestMessage>> | 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. |
Overrides
Remarks
This method follows the same behavior as described in GetPinnedMessagesAsync(RequestOptions). Please visit its documentation for more details on this method.
GetUser(UInt64)
Declaration
public override SocketGuildUser GetUser(ulong id)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | id |
Returns
Type | Description |
---|---|
SocketGuildUser |
Overrides
| Improve this Doc View SourceGetWebhookAsync(UInt64, RequestOptions)
Gets a webhook available in this text channel.
Declaration
public override Task<RestWebhook> GetWebhookAsync(ulong id, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | id | The identifier of the webhook. |
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<RestWebhook> | A task that represents the asynchronous get operation. The task result contains a webhook associated
with the identifier; |
Overrides
| Improve this Doc View SourceGetWebhooksAsync(RequestOptions)
Gets the webhooks available in this text channel.
Declaration
public override Task<IReadOnlyCollection<RestWebhook>> GetWebhooksAsync(RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
RequestOptions | options | The options to be used when sending the request. |
Returns
Type | Description |
---|---|
Task<IReadOnlyCollection<RestWebhook>> | A task that represents the asynchronous get operation. The task result contains a read-only collection of webhooks that is available in this channel. |
Overrides
| Improve this Doc View SourceModifyAsync(Action<AudioChannelProperties>, RequestOptions)
Declaration
public async Task ModifyAsync(Action<AudioChannelProperties> func, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
Action<AudioChannelProperties> | func | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
ModifyAsync(Action<TextChannelProperties>, RequestOptions)
Declaration
public override Task ModifyAsync(Action<TextChannelProperties> func, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
Action<TextChannelProperties> | func | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
Overrides
| Improve this Doc View SourceModifyAsync(Action<VoiceChannelProperties>, RequestOptions)
Declaration
public Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
Action<VoiceChannelProperties> | func | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |
ModifyMessageAsync(UInt64, Action<MessageProperties>, RequestOptions)
Declaration
public override Task<IUserMessage> ModifyMessageAsync(ulong messageId, Action<MessageProperties> func, RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
UInt64 | messageId | |
Action<MessageProperties> | func | |
RequestOptions | options |
Returns
Type | Description |
---|---|
Task<IUserMessage> |
Overrides
| Improve this Doc View SourceSendFileAsync(FileAttachment, String, Boolean, Embed, RequestOptions, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[], MessageFlags)
Declaration
public override Task<RestUserMessage> SendFileAsync(FileAttachment attachment, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = default(MessageFlags))
Parameters
Type | Name | Description |
---|---|---|
FileAttachment | attachment | |
String | text | |
Boolean | isTTS | |
Embed | embed | |
RequestOptions | options | |
AllowedMentions | allowedMentions | |
MessageReference | messageReference | |
MessageComponent | components | |
ISticker[] | stickers | |
Embed[] | embeds | |
MessageFlags | flags |
Returns
Type | Description |
---|---|
Task<RestUserMessage> |
Overrides
| Improve this Doc View SourceSendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[], MessageFlags)
Declaration
public override Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = default(MessageFlags))
Parameters
Type | Name | Description |
---|---|---|
Stream | stream | |
String | filename | |
String | text | |
Boolean | isTTS | |
Embed | embed | |
RequestOptions | options | |
Boolean | isSpoiler | |
AllowedMentions | allowedMentions | |
MessageReference | messageReference | |
MessageComponent | components | |
ISticker[] | stickers | |
Embed[] | embeds | |
MessageFlags | flags |
Returns
Type | Description |
---|---|
Task<RestUserMessage> |
Overrides
| Improve this Doc View SourceSendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[], MessageFlags)
Declaration
public override Task<RestUserMessage> SendFileAsync(string filePath, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = default(MessageFlags))
Parameters
Type | Name | Description |
---|---|---|
String | filePath | |
String | text | |
Boolean | isTTS | |
Embed | embed | |
RequestOptions | options | |
Boolean | isSpoiler | |
AllowedMentions | allowedMentions | |
MessageReference | messageReference | |
MessageComponent | components | |
ISticker[] | stickers | |
Embed[] | embeds | |
MessageFlags | flags |
Returns
Type | Description |
---|---|
Task<RestUserMessage> |
Overrides
| Improve this Doc View SourceSendFilesAsync(IEnumerable<FileAttachment>, String, Boolean, Embed, RequestOptions, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[], MessageFlags)
Declaration
public override Task<RestUserMessage> SendFilesAsync(IEnumerable<FileAttachment> attachments, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = default(MessageFlags))
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<FileAttachment> | attachments | |
String | text | |
Boolean | isTTS | |
Embed | embed | |
RequestOptions | options | |
AllowedMentions | allowedMentions | |
MessageReference | messageReference | |
MessageComponent | components | |
ISticker[] | stickers | |
Embed[] | embeds | |
MessageFlags | flags |
Returns
Type | Description |
---|---|
Task<RestUserMessage> |
Overrides
| Improve this Doc View SourceSendMessageAsync(String, Boolean, Embed, RequestOptions, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[], MessageFlags)
Declaration
public override Task<RestUserMessage> SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = default(MessageFlags))
Parameters
Type | Name | Description |
---|---|---|
String | text | |
Boolean | isTTS | |
Embed | embed | |
RequestOptions | options | |
AllowedMentions | allowedMentions | |
MessageReference | messageReference | |
MessageComponent | components | |
ISticker[] | stickers | |
Embed[] | embeds | |
MessageFlags | flags |
Returns
Type | Description |
---|---|
Task<RestUserMessage> |
Overrides
| Improve this Doc View SourceTriggerTypingAsync(RequestOptions)
Declaration
public override Task TriggerTypingAsync(RequestOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
RequestOptions | options |
Returns
Type | Description |
---|---|
Task |