Skip to main content

Class SocketMessageComponent

Represents a Websocket-based interaction type for Message Components.

Assembly: Discord.Net.WebSocket.dll​
View Source​
Declaration
public class SocketMessageComponent : SocketInteraction, IComponentInteraction, IDiscordInteraction, ISnowflakeEntity, IEntity<ulong>

Properties​

Data​

Gets the data received with this interaction, contains the button that was clicked.

View Source​
Declaration
public SocketMessageComponentData Data { get; }

Message​

Gets the message that contained the trigger for this interaction.

View Source​
Declaration
public SocketUserMessage Message { get; }

HasResponded​

View Source​
Declaration
public override bool HasResponded { get; }

IComponentInteraction.Data​

Gets the data received with this interaction, contains the button that was clicked.

View Source​
Declaration
IComponentInteractionData IComponentInteraction.Data { get; }

IComponentInteraction.Message​

Gets the message that contained the trigger for this interaction.

View Source​
Declaration
IUserMessage IComponentInteraction.Message { get; }

IDiscordInteraction.Data​

Gets the data sent within this interaction.

View Source​
Declaration
IDiscordInteractionData IDiscordInteraction.Data { get; }

Methods​

RespondAsync(String, Embed[], Boolean, Boolean, AllowedMentions, RequestOptions, MessageComponent, Embed)​

Responds to an Interaction with type Discord.InteractionResponseType.ChannelMessageWithSource.

View Source​
Declaration
public override async Task RespondAsync(string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, RequestOptions options = null, MessageComponent component = null, Embed embed = null)
Returns​

System.Threading.Tasks.Task

Parameters​
TypeNameDescription
System.StringtextThe text of the message to be sent.
Discord.Embed[]embedsA array of embeds to send with this response. Max 10.
System.BooleanisTTStrue if the message should be read out by a text-to-speech reader, otherwise false.
System.Booleanephemeraltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
Discord.AllowedMentionsallowedMentionsThe allowed mentions for this response.
Discord.RequestOptionsoptionsThe request options for this response.
Discord.MessageComponentcomponentA Discord.MessageComponent to be sent with this response.
Discord.EmbedembedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.

UpdateAsync(Action<MessageProperties>, RequestOptions)​

Updates the message which this component resides in with the type Discord.InteractionResponseType.UpdateMessage

View Source​
Declaration
public async Task UpdateAsync(Action<MessageProperties> func, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous operation of updating the message.

Parameters​
TypeNameDescription
System.Action<Discord.MessageProperties>funcA delegate containing the properties to modify the message with.
Discord.RequestOptionsoptionsThe request options for this async request.

FollowupAsync(String, Embed[], Boolean, Boolean, AllowedMentions, RequestOptions, MessageComponent, Embed)​

Sends a followup message for this interaction.

View Source​
Declaration
public override async Task<RestFollowupMessage> FollowupAsync(string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, RequestOptions options = null, MessageComponent component = null, Embed embed = null)
Returns​

System.Threading.Tasks.Task<Discord.Rest.RestFollowupMessage>: The sent message.

Parameters​
TypeNameDescription
System.StringtextThe text of the message to be sent.
Discord.Embed[]embedsA array of embeds to send with this response. Max 10.
System.BooleanisTTStrue if the message should be read out by a text-to-speech reader, otherwise false.
System.Booleanephemeraltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
Discord.AllowedMentionsallowedMentionsThe allowed mentions for this response.
Discord.RequestOptionsoptionsThe request options for this response.
Discord.MessageComponentcomponentA Discord.MessageComponent to be sent with this response.
Discord.EmbedembedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.

FollowupWithFileAsync(Stream, String, String, Embed[], Boolean, Boolean, AllowedMentions, RequestOptions, MessageComponent, Embed)​

Sends a followup message for this interaction.

View Source​
Declaration
public override async Task<RestFollowupMessage> FollowupWithFileAsync(Stream fileStream, string fileName, string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, RequestOptions options = null, MessageComponent component = null, Embed embed = null)
Returns​

System.Threading.Tasks.Task<Discord.Rest.RestFollowupMessage>: The sent message.

Parameters​
TypeNameDescription
System.IO.StreamfileStreamThe file to upload.
System.StringfileNameThe file name of the attachment.
System.StringtextThe text of the message to be sent.
Discord.Embed[]embedsA array of embeds to send with this response. Max 10.
System.BooleanisTTStrue if the message should be read out by a text-to-speech reader, otherwise false.
System.Booleanephemeraltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
Discord.AllowedMentionsallowedMentionsThe allowed mentions for this response.
Discord.RequestOptionsoptionsThe request options for this response.
Discord.MessageComponentcomponentA Discord.MessageComponent to be sent with this response.
Discord.EmbedembedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.

FollowupWithFileAsync(String, String, String, Embed[], Boolean, Boolean, AllowedMentions, RequestOptions, MessageComponent, Embed)​

Sends a followup message for this interaction.

View Source​
Declaration
public override async Task<RestFollowupMessage> FollowupWithFileAsync(string filePath, string text = null, string fileName = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, RequestOptions options = null, MessageComponent component = null, Embed embed = null)
Returns​

System.Threading.Tasks.Task<Discord.Rest.RestFollowupMessage>: The sent message.

Parameters​
TypeNameDescription
System.StringfilePathThe file to upload.
System.StringtextThe text of the message to be sent.
System.StringfileNameThe file name of the attachment.
Discord.Embed[]embedsA array of embeds to send with this response. Max 10.
System.BooleanisTTStrue if the message should be read out by a text-to-speech reader, otherwise false.
System.Booleanephemeraltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
Discord.AllowedMentionsallowedMentionsThe allowed mentions for this response.
Discord.RequestOptionsoptionsThe request options for this response.
Discord.MessageComponentcomponentA Discord.MessageComponent to be sent with this response.
Discord.EmbedembedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.

DeferLoadingAsync(Boolean, RequestOptions)​

Defers an interaction and responds with type 5 (Discord.InteractionResponseType.DeferredChannelMessageWithSource)

View Source​
Declaration
public async Task DeferLoadingAsync(bool ephemeral = false, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous operation of acknowledging the interaction.

Parameters​
TypeNameDescription
System.Booleanephemeraltrue to send this message ephemerally, otherwise false.
Discord.RequestOptionsoptionsThe request options for this async request.

DeferAsync(Boolean, RequestOptions)​

Acknowledges this interaction.

View Source​
Declaration
public override async Task DeferAsync(bool ephemeral = false, RequestOptions options = null)
Returns​

System.Threading.Tasks.Task: A task that represents the asynchronous operation of acknowledging the interaction.

Parameters​
TypeNameDescription
System.Booleanephemeraltrue to send this message ephemerally, otherwise false.
Discord.RequestOptionsoptionsThe request options for this async request.

Implements​