Interface IMessageChannel
Represents a generic channel that can send and receive messages.
Assembly: Discord.Net.Core.dll​
View Source​
public interface IMessageChannel : IChannel, ISnowflakeEntity, IEntity<ulong>
Methods​
SendMessageAsync(String, Boolean, Embed, RequestOptions, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[])​
Sends a message to this message channel.
View Source​
Task<IUserMessage> SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent component = null, ISticker[] stickers = null, Embed[] embeds = null)
Returns​
System.Threading.Tasks.Task<Discord.IUserMessage>
:
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Parameters​
Type | Name | Description |
---|---|---|
System.String | text | The message to be sent. |
System.Boolean | isTTS | Determines whether the message should be read aloud by Discord or not. |
Discord.Embed | embed | The Discord.EmbedType.Rich Discord.Embed to be sent. |
Discord.RequestOptions | options | The options to be used when sending the request. |
Discord.AllowedMentions | allowedMentions |
Specifies if notifications are sent for mentioned users and roles in the message <code data-dev-comment-type="paramref" class="paramref">text</code>.
If null
, all mentioned roles and users will be notified.
|
| Discord.MessageReference | messageReference | The message references to be included. Used to reply to specific messages. |
| Discord.MessageComponent | component | The message components to be included with this message. Used for interactions. |
| Discord.ISticker[]
| stickers | A collection of stickers to send with the message. |
| Discord.Embed[]
| embeds | A array of Discord.Embeds to send with this response. Max 10. |
SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[])​
Sends a file to this message channel with an optional caption.
View Source​
Task<IUserMessage> SendFileAsync(string filePath, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent component = null, ISticker[] stickers = null, Embed[] embeds = null)
Returns​
System.Threading.Tasks.Task<Discord.IUserMessage>
:
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Parameters​
Type | Name | Description |
---|---|---|
System.String | filePath | The file path of the file. |
System.String | text | The message to be sent. |
System.Boolean | isTTS | Whether the message should be read aloud by Discord or not. |
Discord.Embed | embed | The Discord.EmbedType.Rich Discord.Embed to be sent. |
Discord.RequestOptions | options | The options to be used when sending the request. |
System.Boolean | isSpoiler | Whether the message attachment should be hidden as a spoiler. |
Discord.AllowedMentions | allowedMentions |
Specifies if notifications are sent for mentioned users and roles in the message <code data-dev-comment-type="paramref" class="paramref">text</code>.
If null
, all mentioned roles and users will be notified.
|
| Discord.MessageReference | messageReference | The message references to be included. Used to reply to specific messages. |
| Discord.MessageComponent | component | The message components to be included with this message. Used for interactions. |
| Discord.ISticker[]
| stickers | A collection of stickers to send with the file. |
| Discord.Embed[]
| embeds | A array of Discord.Embeds to send with this response. Max 10. |
SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[])​
Sends a file to this message channel with an optional caption.
View Source​
Task<IUserMessage> SendFileAsync(Stream stream, string filename, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent component = null, ISticker[] stickers = null, Embed[] embeds = null)
Returns​
System.Threading.Tasks.Task<Discord.IUserMessage>
:
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Parameters​
Type | Name | Description |
---|---|---|
System.IO.Stream | stream | The System.IO.Stream of the file to be sent. |
System.String | filename | The name of the attachment. |
System.String | text | The message to be sent. |
System.Boolean | isTTS | Whether the message should be read aloud by Discord or not. |
Discord.Embed | embed | The Discord.EmbedType.Rich Discord.Embed to be sent. |
Discord.RequestOptions | options | The options to be used when sending the request. |
System.Boolean | isSpoiler | Whether the message attachment should be hidden as a spoiler. |
Discord.AllowedMentions | allowedMentions |
Specifies if notifications are sent for mentioned users and roles in the message <code data-dev-comment-type="paramref" class="paramref">text</code>.
If null
, all mentioned roles and users will be notified.
|
| Discord.MessageReference | messageReference | The message references to be included. Used to reply to specific messages. |
| Discord.MessageComponent | component | The message components to be included with this message. Used for interactions. |
| Discord.ISticker[]
| stickers | A collection of stickers to send with the file. |
| Discord.Embed[]
| embeds | A array of Discord.Embeds to send with this response. Max 10. |
SendFileAsync(FileAttachment, String, Boolean, Embed, RequestOptions, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[])​
Sends a file to this message channel with an optional caption.
View Source​
Task<IUserMessage> SendFileAsync(FileAttachment attachment, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent component = null, ISticker[] stickers = null, Embed[] embeds = null)
Returns​
System.Threading.Tasks.Task<Discord.IUserMessage>
:
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Parameters​
Type | Name | Description |
---|---|---|
Discord.FileAttachment | attachment | The attachment containing the file and description. |
System.String | text | The message to be sent. |
System.Boolean | isTTS | Whether the message should be read aloud by Discord or not. |
Discord.Embed | embed | The Discord.EmbedType.Rich Discord.Embed to be sent. |
Discord.RequestOptions | options | The options to be used when sending the request. |
Discord.AllowedMentions | allowedMentions |
Specifies if notifications are sent for mentioned users and roles in the message <code data-dev-comment-type="paramref" class="paramref">text</code>.
If null
, all mentioned roles and users will be notified.
|
| Discord.MessageReference | messageReference | The message references to be included. Used to reply to specific messages. |
| Discord.MessageComponent | component | The message components to be included with this message. Used for interactions. |
| Discord.ISticker[]
| stickers | A collection of stickers to send with the file. |
| Discord.Embed[]
| embeds | A array of Discord.Embeds to send with this response. Max 10. |
SendFilesAsync(IEnumerable<FileAttachment>, String, Boolean, Embed, RequestOptions, AllowedMentions, MessageReference, MessageComponent, ISticker[], Embed[])​
Sends a collection of files to this message channel.
View Source​
Task<IUserMessage> SendFilesAsync(IEnumerable<FileAttachment> attachments, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent component = null, ISticker[] stickers = null, Embed[] embeds = null)
Returns​
System.Threading.Tasks.Task<Discord.IUserMessage>
:
A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.
Parameters​
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<Discord.FileAttachment> | attachments | A collection of attachments to upload. |
System.String | text | The message to be sent. |
System.Boolean | isTTS | Whether the message should be read aloud by Discord or not. |
Discord.Embed | embed | The Discord.EmbedType.Rich Discord.Embed to be sent. |
Discord.RequestOptions | options | The options to be used when sending the request. |
Discord.AllowedMentions | allowedMentions |
Specifies if notifications are sent for mentioned users and roles in the message <code data-dev-comment-type="paramref" class="paramref">text</code>.
If null
, all mentioned roles and users will be notified.
|
| Discord.MessageReference | messageReference | The message references to be included. Used to reply to specific messages. |
| Discord.MessageComponent | component | The message components to be included with this message. Used for interactions. |
| Discord.ISticker[]
| stickers | A collection of stickers to send with the file. |
| Discord.Embed[]
| embeds | A array of Discord.Embeds to send with this response. Max 10. |
GetMessageAsync(UInt64, CacheMode, RequestOptions)​
Gets a message from this message channel.
View Source​
Task<IMessage> GetMessageAsync(ulong id, CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null)
Returns​
System.Threading.Tasks.Task<Discord.IMessage>
:
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.
Parameters​
Type | Name | Description |
---|---|---|
System.UInt64 | id | The snowflake identifier of the message. |
Discord.CacheMode | mode | The Discord.CacheMode that determines whether the object should be fetched from cache. |
Discord.RequestOptions | options | The options to be used when sending the request. |
GetMessagesAsync(Int32, CacheMode, RequestOptions)​
Gets the last N messages from this message channel.
View Source​
IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(int limit = 100, CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null)
Returns​
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<Discord.IMessage>>
:
Paged collection of messages.
Parameters​
Type | Name | Description |
---|---|---|
System.Int32 | limit | The numbers of message to be gotten from. |
Discord.CacheMode | mode | The Discord.CacheMode that determines whether the object should be fetched from |
cache. | ||
Discord.RequestOptions | options | The options to be used when sending the request. |
GetMessagesAsync(UInt64, Direction, Int32, CacheMode, RequestOptions)​
Gets a collection of messages in this channel.
View Source​
IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = 100, CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null)
Returns​
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<Discord.IMessage>>
:
Paged collection of messages.
Parameters​
Type | Name | Description |
---|---|---|
System.UInt64 | fromMessageId | The ID of the starting message to get the messages from. |
Discord.Direction | dir | The direction of the messages to be gotten from. |
System.Int32 | limit | The numbers of message to be gotten from. |
Discord.CacheMode | mode | The Discord.CacheMode that determines whether the object should be fetched from |
cache. | ||
Discord.RequestOptions | options | The options to be used when sending the request. |
GetMessagesAsync(IMessage, Direction, Int32, CacheMode, RequestOptions)​
Gets a collection of messages in this channel.
View Source​
IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(IMessage fromMessage, Direction dir, int limit = 100, CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null)
Returns​
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<Discord.IMessage>>
:
Paged collection of messages.
Parameters​
Type | Name | Description |
---|---|---|
Discord.IMessage | fromMessage | The starting message to get the messages from. |
Discord.Direction | dir | The direction of the messages to be gotten from. |
System.Int32 | limit | The numbers of message to be gotten from. |
Discord.CacheMode | mode | The Discord.CacheMode that determines whether the object should be fetched from |
cache. | ||
Discord.RequestOptions | options | The options to be used when sending the request. |
GetPinnedMessagesAsync(RequestOptions)​
Gets a collection of pinned messages in this channel.
View Source​
Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync(RequestOptions options = null)
Returns​
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<Discord.IMessage>>
:
A task that represents the asynchronous get operation for retrieving pinned messages in this channel.
The task result contains a collection of messages found in the pinned messages.
Parameters​
Type | Name | Description |
---|---|---|
Discord.RequestOptions | options | The options to be used when sending the request. |
DeleteMessageAsync(UInt64, RequestOptions)​
Deletes a message.
View Source​
Task DeleteMessageAsync(ulong messageId, RequestOptions options = null)
Returns​
System.Threading.Tasks.Task
:
A task that represents the asynchronous removal operation.
Parameters​
Type | Name | Description |
---|---|---|
System.UInt64 | messageId | The snowflake identifier of the message that would be removed. |
Discord.RequestOptions | options | The options to be used when sending the request. |
DeleteMessageAsync(IMessage, RequestOptions)​
Deletes a message based on the provided message in this channel.
View Source​
Task DeleteMessageAsync(IMessage message, RequestOptions options = null)
Returns​
System.Threading.Tasks.Task
:
A task that represents the asynchronous removal operation.
Parameters​
Type | Name | Description |
---|---|---|
Discord.IMessage | message | The message that would be removed. |
Discord.RequestOptions | options | The options to be used when sending the request. |
ModifyMessageAsync(UInt64, Action<MessageProperties>, RequestOptions)​
Modifies a message.
View Source​
Task<IUserMessage> ModifyMessageAsync(ulong messageId, Action<MessageProperties> func, RequestOptions options = null)
Returns​
System.Threading.Tasks.Task<Discord.IUserMessage>
:
A task that represents the asynchronous modification operation.
Parameters​
Type | Name | Description |
---|---|---|
System.UInt64 | messageId | The snowflake identifier of the message that would be changed. |
System.Action<Discord.MessageProperties> | func | A delegate containing the properties to modify the message with. |
Discord.RequestOptions | options | The options to be used when sending the request. |
TriggerTypingAsync(RequestOptions)​
Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds.
View Source​
Task TriggerTypingAsync(RequestOptions options = null)
Returns​
System.Threading.Tasks.Task
:
A task that represents the asynchronous operation that triggers the broadcast.
Parameters​
Type | Name | Description |
---|---|---|
Discord.RequestOptions | options | The options to be used when sending the request. |
EnterTypingState(RequestOptions)​
Continuously broadcasts the "user is typing" message to all users in this channel until the returned object is disposed.
View Source​
IDisposable EnterTypingState(RequestOptions options = null)
Returns​
System.IDisposable
:
A disposable object that, upon its disposal, will stop the client from broadcasting its typing state in
this channel.
Parameters​
Type | Name | Description |
---|---|---|
Discord.RequestOptions | options | The options to be used when sending the request. |