Class SocketMessageComponent
Represents a Websocket-based interaction type for Message Components.
public class SocketMessageComponent : SocketInteraction, IComponentInteraction, IDiscordInteraction, ISnowflakeEntity, IEntity<ulong>
- Inheritance
-
SocketMessageComponent
- Implements
- Inherited Members
- Extension Methods
Properties
Data
Gets the data received with this interaction, contains the button that was clicked.
public SocketMessageComponentData Data { get; }
Property Value
HasResponded
Gets whether or not this interaction has been responded to.
public override bool HasResponded { get; }
Property Value
Remarks
This property is locally set -- if you're running multiple bots off the same token then this property won't be in sync with them.
Message
Gets the message that contained the trigger for this interaction.
public SocketUserMessage Message { get; }
Property Value
Methods
DeferAsync(bool, RequestOptions)
Acknowledges this interaction.
public override Task DeferAsync(bool ephemeral = false, RequestOptions options = null)
Parameters
ephemeral
booloptions
RequestOptionsThe request options for this async request.
Returns
- Task
A task that represents the asynchronous operation of acknowledging the interaction.
DeferLoadingAsync(bool, RequestOptions)
Defers an interaction with the response type 5 (DeferredChannelMessageWithSource).
public Task DeferLoadingAsync(bool ephemeral = false, RequestOptions options = null)
Parameters
ephemeral
booloptions
RequestOptionsThe options to be used when sending the request.
Returns
- Task
A task that represents the asynchronous operation of acknowledging the interaction.
FollowupAsync(string, Embed[], bool, bool, AllowedMentions, MessageComponent, Embed, RequestOptions, PollProperties)
Sends a followup message for this interaction.
public override Task<RestFollowupMessage> FollowupAsync(string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, MessageComponent components = null, Embed embed = null, RequestOptions options = null, PollProperties poll = null)
Parameters
text
stringThe text of the message to be sent.
embeds
Embed[]A array of embeds to send with this response. Max 10.
isTTS
booltrue if the message should be read out by a text-to-speech reader, otherwise false.
ephemeral
booltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
allowedMentions
AllowedMentionsThe allowed mentions for this response.
components
MessageComponentA MessageComponent to be sent with this response.
embed
EmbedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
options
RequestOptionsThe request options for this response.
poll
PollPropertiesA poll to send with the message.
Returns
- Task<RestFollowupMessage>
The sent message.
FollowupWithFilesAsync(IEnumerable<FileAttachment>, string, Embed[], bool, bool, AllowedMentions, MessageComponent, Embed, RequestOptions, PollProperties)
Sends a followup message for this interaction.
public override Task<RestFollowupMessage> FollowupWithFilesAsync(IEnumerable<FileAttachment> attachments, string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, MessageComponent components = null, Embed embed = null, RequestOptions options = null, PollProperties poll = null)
Parameters
attachments
IEnumerable<FileAttachment>A collection of attachments to upload.
text
stringThe text of the message to be sent.
embeds
Embed[]A array of embeds to send with this response. Max 10.
isTTS
booltrue if the message should be read out by a text-to-speech reader, otherwise false.
ephemeral
booltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
allowedMentions
AllowedMentionsThe allowed mentions for this response.
components
MessageComponentA MessageComponent to be sent with this response.
embed
EmbedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
options
RequestOptionsThe request options for this response.
poll
PollPropertiesA poll to send with the message.
Returns
- Task<RestFollowupMessage>
A task that represents an asynchronous send operation for delivering the message. The task result contains the sent message.
RespondAsync(string, Embed[], bool, bool, AllowedMentions, MessageComponent, Embed, RequestOptions, PollProperties)
Responds to an Interaction with type ChannelMessageWithSource.
public override Task RespondAsync(string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, MessageComponent components = null, Embed embed = null, RequestOptions options = null, PollProperties poll = null)
Parameters
text
stringThe text of the message to be sent.
embeds
Embed[]A array of embeds to send with this response. Max 10.
isTTS
booltrue if the message should be read out by a text-to-speech reader, otherwise false.
ephemeral
booltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
allowedMentions
AllowedMentionsThe allowed mentions for this response.
components
MessageComponentA MessageComponent to be sent with this response.
embed
EmbedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
options
RequestOptionsThe request options for this response.
poll
PollPropertiesA poll to send with the message.
Returns
Exceptions
- ArgumentOutOfRangeException
Message content is too long, length must be less or equal to MaxMessageSize.
- InvalidOperationException
The parameters provided were invalid or the token was invalid.
RespondWithFilesAsync(IEnumerable<FileAttachment>, string, Embed[], bool, bool, AllowedMentions, MessageComponent, Embed, RequestOptions, PollProperties)
Responds to this interaction with a collection of file attachments.
public override Task RespondWithFilesAsync(IEnumerable<FileAttachment> attachments, string text = null, Embed[] embeds = null, bool isTTS = false, bool ephemeral = false, AllowedMentions allowedMentions = null, MessageComponent components = null, Embed embed = null, RequestOptions options = null, PollProperties poll = null)
Parameters
attachments
IEnumerable<FileAttachment>A collection of attachments to upload.
text
stringThe text of the message to be sent.
embeds
Embed[]A array of embeds to send with this response. Max 10.
isTTS
booltrue if the message should be read out by a text-to-speech reader, otherwise false.
ephemeral
booltrue if the response should be hidden to everyone besides the invoker of the command, otherwise false.
allowedMentions
AllowedMentionsThe allowed mentions for this response.
components
MessageComponentA MessageComponent to be sent with this response.
embed
EmbedA single embed to send with this response. If this is passed alongside an array of embeds, the single embed will be ignored.
options
RequestOptionsThe request options for this response.
poll
PollPropertiesA poll to send with the message.
Returns
- Task
A task that represents an asynchronous send operation for delivering the message. The task result contains the sent message.
RespondWithModalAsync(Modal, RequestOptions)
Responds to this interaction with a Modal.
public override Task RespondWithModalAsync(Modal modal, RequestOptions options = null)
Parameters
modal
ModalThe Modal to respond with.
options
RequestOptionsThe request options for this async request.
Returns
- Task
A task that represents the asynchronous operation of responding to the interaction.
UpdateAsync(Action<MessageProperties>, RequestOptions)
Updates the message which this component resides in with the type UpdateMessage
public Task UpdateAsync(Action<MessageProperties> func, RequestOptions options = null)
Parameters
func
Action<MessageProperties>A delegate containing the properties to modify the message with.
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task
A task that represents the asynchronous operation of updating the message.