Interface IMessage
Represents a message object.
Inherited Members
Namespace: Discord
Assembly: Discord.Net.Core.dll
Syntax
public interface IMessage : ISnowflakeEntity, IEntity<ulong>, IDeletable
Properties
| Improve this Doc View SourceActivity
Gets the activity associated with a message.
Declaration
MessageActivity Activity { get; }
Property Value
| Type | Description |
|---|---|
| MessageActivity | A message's activity, if any is associated. |
Remarks
Sent with Rich Presence-related chat embeds. This often refers to activity that requires end-user's interaction, such as a Spotify Invite activity.
Application
Gets the application associated with a message.
Declaration
MessageApplication Application { get; }
Property Value
| Type | Description |
|---|---|
| MessageApplication | A message's application, if any is associated. |
Remarks
Sent with Rich-Presence-related chat embeds.
Attachments
Gets all attachments included in this message.
Declaration
IReadOnlyCollection<IAttachment> Attachments { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<IAttachment> | A read-only collection of attachments. |
Remarks
This property gets a read-only collection of attachments associated with this message. Depending on the user's end-client, a sent message may contain one or more attachments. For example, mobile users may attach more than one file in their message, while the desktop client only allows for one.
Author
Gets the author of this message.
Declaration
IUser Author { get; }
Property Value
| Type | Description |
|---|---|
| IUser |
Channel
Gets the source channel of the message.
Declaration
IMessageChannel Channel { get; }
Property Value
| Type | Description |
|---|---|
| IMessageChannel |
Content
Gets the content for this message.
Declaration
string Content { get; }
Property Value
| Type | Description |
|---|---|
| System.String | A string that contains the body of the message; note that this field may be empty if there is an embed. |
EditedTimestamp
Gets the time of this message's last edit.
Declaration
DateTimeOffset? EditedTimestamp { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTimeOffset> | Time of when the message was last edited; |
Embeds
Gets all embeds included in this message.
Declaration
IReadOnlyCollection<IEmbed> Embeds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<IEmbed> | A read-only collection of embed objects. |
IsPinned
Gets the value that indicates whether this message is pinned.
Declaration
bool IsPinned { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsSuppressed
Gets the value that indicates whether or not this message's embeds are suppressed.
Declaration
bool IsSuppressed { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsTTS
Gets the value that indicates whether this message was meant to be read-aloud by Discord.
Declaration
bool IsTTS { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
MentionedChannelIds
Gets the IDs of channels mentioned in this message.
Declaration
IReadOnlyCollection<ulong> MentionedChannelIds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of channel IDs. |
MentionedRoleIds
Gets the IDs of roles mentioned in this message.
Declaration
IReadOnlyCollection<ulong> MentionedRoleIds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of role IDs. |
MentionedUserIds
Gets the IDs of users mentioned in this message.
Declaration
IReadOnlyCollection<ulong> MentionedUserIds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of user IDs. |
Reactions
Gets all reactions included in this message.
Declaration
IReadOnlyDictionary<IEmote, ReactionMetadata> Reactions { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyDictionary<IEmote, ReactionMetadata> |
Reference
Gets the reference to the original message if it was crossposted.
Declaration
MessageReference Reference { get; }
Property Value
| Type | Description |
|---|---|
| MessageReference | A message's reference, if any is associated. |
Remarks
Sent with Cross-posted messages, meaning they were published from news channels and received by subscriber channels.
Source
Gets the source type of this message.
Declaration
MessageSource Source { get; }
Property Value
| Type | Description |
|---|---|
| MessageSource |
Tags
Gets all tags included in this message's content.
Declaration
IReadOnlyCollection<ITag> Tags { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<ITag> |
Timestamp
Gets the time this message was sent.
Declaration
DateTimeOffset Timestamp { get; }
Property Value
| Type | Description |
|---|---|
| System.DateTimeOffset | Time of when the message was sent. |
Type
Gets the type of this system message.
Declaration
MessageType Type { get; }
Property Value
| Type | Description |
|---|---|
| MessageType |
Methods
| Improve this Doc View SourceAddReactionAsync(IEmote, RequestOptions)
Adds a reaction to this message.
Declaration
Task AddReactionAsync(IEmote emote, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IEmote | emote | The emoji used to react to this message. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous operation for adding a reaction to this message. |
Examples
The following example adds the reaction, 💕, to the message.
await msg.AddReactionAsync(new Emoji("\U0001f495"));
See Also
| Improve this Doc View SourceGetReactionUsersAsync(IEmote, Int32, RequestOptions)
Gets all users that reacted to a message with a given emote.
Declaration
IAsyncEnumerable<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IEmote emoji, int limit, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IEmote | emoji | The emoji that represents the reaction that you wish to get. |
| System.Int32 | limit | The number of users to request. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IUser>> | A paged collection containing a read-only collection of users that has reacted to this message. Flattening the paginated response into a collection of users with FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) is required if you wish to access the users. |
Examples
The following example gets the users that have reacted with the emoji 💕 to the message.
var emoji = new Emoji("\U0001f495");
var reactedUsers = await message.GetReactionUsersAsync(emoji, 100).FlattenAsync();
|
Improve this Doc
View Source
RemoveAllReactionsAsync(RequestOptions)
Removes all reactions from this message.
Declaration
Task RemoveAllReactionsAsync(RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous removal operation. |
RemoveReactionAsync(IEmote, IUser, RequestOptions)
Removes a reaction from message.
Declaration
Task RemoveReactionAsync(IEmote emote, IUser user, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IEmote | emote | The emoji used to react to this message. |
| IUser | user | The user that added the emoji. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous operation for removing a reaction to this message. |
Examples
The following example removes the reaction, 💕, added by the message author from the message.
await msg.RemoveReactionAsync(new Emoji("\U0001f495"), msg.Author);
See Also
| Improve this Doc View SourceRemoveReactionAsync(IEmote, UInt64, RequestOptions)
Removes a reaction from message.
Declaration
Task RemoveReactionAsync(IEmote emote, ulong userId, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IEmote | emote | The emoji used to react to this message. |
| System.UInt64 | userId | The ID of the user that added the emoji. |
| RequestOptions | options | The options to be used when sending the request. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task | A task that represents the asynchronous operation for removing a reaction to this message. |
Examples
The following example removes the reaction, 💕, added by the user with ID 84291986575613952 from the message.
await msg.RemoveReactionAsync(new Emoji("\U0001f495"), 84291986575613952);