Show / Hide Table of Contents

Interface IMessage

Represents a message object.

Inherited Members
ISnowflakeEntity.CreatedAt
IEntity<UInt64>.Id
IDeletable.DeleteAsync(RequestOptions)
Namespace: Discord
Assembly: Discord.Net.Core.dll
Syntax
public interface IMessage : ISnowflakeEntity, IEntity<ulong>, IDeletable

Properties

| Improve this Doc View Source

Activity

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.

| Improve this Doc View Source

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.

| Improve this Doc View Source

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.

| Improve this Doc View Source

Author

Gets the author of this message.

Declaration
IUser Author { get; }
Property Value
Type Description
IUser
| Improve this Doc View Source

Channel

Gets the source channel of the message.

Declaration
IMessageChannel Channel { get; }
Property Value
Type Description
IMessageChannel
| Improve this Doc View Source

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.

| Improve this Doc View Source

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; null if the message is never edited.

| Improve this Doc View Source

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.

| Improve this Doc View Source

IsPinned

Gets the value that indicates whether this message is pinned.

Declaration
bool IsPinned { get; }
Property Value
Type Description
System.Boolean

true if this message was added to its channel's pinned messages; otherwise false.

| Improve this Doc View Source

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

true if the embeds in this message have been suppressed (made invisible); otherwise false.

| Improve this Doc View Source

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

true if this message was sent as a text-to-speech message; otherwise false.

| Improve this Doc View Source

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.

| Improve this Doc View Source

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.

| Improve this Doc View Source

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.

| Improve this Doc View Source

Reactions

Gets all reactions included in this message.

Declaration
IReadOnlyDictionary<IEmote, ReactionMetadata> Reactions { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyDictionary<IEmote, ReactionMetadata>
| Improve this Doc View Source

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.

| Improve this Doc View Source

Source

Gets the source type of this message.

Declaration
MessageSource Source { get; }
Property Value
Type Description
MessageSource
| Improve this Doc View Source

Tags

Gets all tags included in this message's content.

Declaration
IReadOnlyCollection<ITag> Tags { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<ITag>
| Improve this Doc View Source

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.

| Improve this Doc View Source

Type

Gets the type of this system message.

Declaration
MessageType Type { get; }
Property Value
Type Description
MessageType

Methods

| Improve this Doc View Source

AddReactionAsync(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
IEmote
| Improve this Doc View Source

GetReactionUsersAsync(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.

| Improve this Doc View Source

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
IEmote
| Improve this Doc View Source

RemoveReactionAsync(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);
See Also
IEmote

Extension Methods

MessageExtensions.GetJumpUrl(IMessage)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX