Class RestMessage
Represents a REST-based message.
Inherited Members
Namespace: Discord.Rest
Assembly: Discord.Net.Rest.dll
Syntax
public abstract class RestMessage : RestEntity<ulong>, IMessage, ISnowflakeEntity, IEntity<ulong>, IDeletable, IUpdateable
Properties
| Improve this Doc View SourceActivity
Gets the activity associated with a message.
Declaration
public 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
public 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 a collection of the Attachment's on the message.
Declaration
public virtual IReadOnlyCollection<Attachment> Attachments { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<Attachment> |
Author
Gets the Author of the message.
Declaration
public IUser Author { get; }
Property Value
| Type | Description |
|---|---|
| IUser |
Channel
Gets the source channel of the message.
Declaration
public IMessageChannel Channel { get; }
Property Value
| Type | Description |
|---|---|
| IMessageChannel |
Content
Gets the content for this message.
Declaration
public 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. |
CreatedAt
Gets when the snowflake was created.
Declaration
public DateTimeOffset CreatedAt { get; }
Property Value
| Type | Description |
|---|---|
| System.DateTimeOffset | A System.DateTimeOffset representing when the entity was first created. |
EditedTimestamp
Gets the time of this message's last edit.
Declaration
public virtual DateTimeOffset? EditedTimestamp { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTimeOffset> | Time of when the message was last edited; |
Embeds
Gets a collection of the Embed's on the message.
Declaration
public virtual IReadOnlyCollection<Embed> Embeds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<Embed> |
IsPinned
Gets the value that indicates whether this message is pinned.
Declaration
public virtual 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
public virtual 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
public virtual bool IsTTS { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
MentionedChannelIds
Gets the IDs of channels mentioned in this message.
Declaration
public virtual 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
public virtual IReadOnlyCollection<ulong> MentionedRoleIds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of role IDs. |
MentionedUsers
Gets a collection of the mentioned users in the message.
Declaration
public virtual IReadOnlyCollection<RestUser> MentionedUsers { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<RestUser> |
Reactions
Gets all reactions included in this message.
Declaration
public 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
public 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
public MessageSource Source { get; }
Property Value
| Type | Description |
|---|---|
| MessageSource |
Tags
Gets all tags included in this message's content.
Declaration
public virtual IReadOnlyCollection<ITag> Tags { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<ITag> |
Timestamp
Gets the time this message was sent.
Declaration
public DateTimeOffset Timestamp { get; }
Property Value
| Type | Description |
|---|---|
| System.DateTimeOffset | Time of when the message was sent. |
Methods
| Improve this Doc View SourceAddReactionAsync(IEmote, RequestOptions)
Adds a reaction to this message.
Declaration
public 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. |
See Also
| Improve this Doc View SourceDeleteAsync(RequestOptions)
Deletes this object and all its children.
Declaration
public Task DeleteAsync(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 |
GetReactionUsersAsync(IEmote, Int32, RequestOptions)
Gets all users that reacted to a message with a given emote.
Declaration
public IAsyncEnumerable<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IEmote emote, int limit, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IEmote | emote | |
| 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. |
RemoveAllReactionsAsync(RequestOptions)
Removes all reactions from this message.
Declaration
public 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
public 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. |
See Also
| Improve this Doc View SourceRemoveReactionAsync(IEmote, UInt64, RequestOptions)
Removes a reaction from message.
Declaration
public 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. |
See Also
| Improve this Doc View SourceToString()
Gets the Content of the message.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| System.String | A string that is the Content of the message. |
Overrides
UpdateAsync(RequestOptions)
Updates this object's properties with its current state.
Declaration
public Task UpdateAsync(RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| RequestOptions | options |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task |
Explicit Interface Implementations
| Improve this Doc View SourceIMessage.Attachments
Gets all attachments included in this message.
Declaration
IReadOnlyCollection<IAttachment> IMessage.Attachments { get; }
Returns
| 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.
IMessage.Author
Declaration
IUser IMessage.Author { get; }
Returns
| Type | Description |
|---|---|
| IUser |
IMessage.Embeds
Gets all embeds included in this message.
Declaration
IReadOnlyCollection<IEmbed> IMessage.Embeds { get; }
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<IEmbed> | A read-only collection of embed objects. |
IMessage.MentionedUserIds
Gets the IDs of users mentioned in this message.
Declaration
IReadOnlyCollection<ulong> IMessage.MentionedUserIds { get; }
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of user IDs. |
IMessage.Type
Gets the type of this system message.
Declaration
MessageType IMessage.Type { get; }
Returns
| Type | Description |
|---|---|
| MessageType |