Class SocketMessage
Represents a WebSocket-based message.
Inherited Members
Namespace: Discord.WebSocket
Assembly: Discord.Net.WebSocket.dll
Syntax
public abstract class SocketMessage : SocketEntity<ulong>, IMessage, ISnowflakeEntity, IEntity<ulong>, IDeletable
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
Returns all attachments included in this message.
Declaration
public virtual IReadOnlyCollection<Attachment> Attachments { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<Attachment> | Collection of attachments. |
Author
Gets the author of this message.
Declaration
public SocketUser Author { get; }
Property Value
| Type | Description |
|---|---|
| SocketUser | A WebSocket-based user object. |
Channel
Gets the source channel of the message.
Declaration
public ISocketMessageChannel Channel { get; }
Property Value
| Type | Description |
|---|---|
| ISocketMessageChannel | A WebSocket-based message channel. |
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
Returns all embeds included in this message.
Declaration
public virtual IReadOnlyCollection<Embed> Embeds { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<Embed> | Collection of embed objects. |
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 |
|
MentionedChannels
Returns the channels mentioned in this message.
Declaration
public virtual IReadOnlyCollection<SocketGuildChannel> MentionedChannels { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<SocketGuildChannel> | Collection of WebSocket-based guild channels. |
MentionedRoles
Returns the roles mentioned in this message.
Declaration
public virtual IReadOnlyCollection<SocketRole> MentionedRoles { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<SocketRole> | Collection of WebSocket-based roles. |
MentionedUsers
Returns the users mentioned in this message.
Declaration
public virtual IReadOnlyCollection<SocketUser> MentionedUsers { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<SocketUser> | Collection of WebSocket-based users. |
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)
Declaration
public IAsyncEnumerable<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IEmote emote, int limit, RequestOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IEmote | emote | |
| System.Int32 | limit | |
| RequestOptions | options |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IUser>> |
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 | Content of the message. |
Overrides
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
Gets the author of this message.
Declaration
IUser IMessage.Author { get; }
Returns
| Type | Description |
|---|---|
| IUser |
IMessage.Channel
Gets the source channel of the message.
Declaration
IMessageChannel IMessage.Channel { get; }
Returns
| Type | Description |
|---|---|
| IMessageChannel |
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.MentionedChannelIds
Gets the IDs of channels mentioned in this message.
Declaration
IReadOnlyCollection<ulong> IMessage.MentionedChannelIds { get; }
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of channel IDs. |
IMessage.MentionedRoleIds
Gets the IDs of roles mentioned in this message.
Declaration
IReadOnlyCollection<ulong> IMessage.MentionedRoleIds { get; }
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<System.UInt64> | A read-only collection of role IDs. |
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 |