Skip to main content

Class RestInteraction

Represents a REST-based interaction.

Assembly: Discord.Net.Rest.dll​
View Source​
Declaration
public abstract class RestInteraction : RestEntity<ulong>, IDiscordInteraction, ISnowflakeEntity, IEntity<ulong>

Properties​

Type​

Gets the type of this Discord.IDiscordInteraction.

View Source​
Declaration
public InteractionType Type { get; }

Data​

Gets the data sent within this interaction.

View Source​
Declaration
public IDiscordInteractionData Data { get; }

Token​

Gets the continuation token for responding to the interaction.

View Source​
Declaration
public string Token { get; }

Version​

Gets the version of the interaction, always 1.

View Source​
Declaration
public int Version { get; }

User​

Gets the user who invoked the interaction.

View Source​
Declaration
public RestUser User { get; }

CreatedAt​

Gets when the snowflake was created.

View Source​
Declaration
public DateTimeOffset CreatedAt { get; }

IsValidToken​

true if the token is valid for replying to, otherwise false.

View Source​
Declaration
public bool IsValidToken { get; }

Channel​

Gets the channel that this interaction was executed in.

View Source​
Declaration
public IRestMessageChannel Channel { get; }

Guild​

Gets the guild this interaction was executed in.

View Source​
Declaration
public RestGuild Guild { get; }

Methods​

Defer(Boolean, RequestOptions)​

View Source​
Declaration
public abstract string Defer(bool ephemeral = false, RequestOptions options = null)
Returns​

System.String

Parameters​
TypeName
System.Booleanephemeral
Discord.RequestOptionsoptions

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

View Source​
Declaration
public abstract 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>

Parameters​
TypeName
System.Stringtext
Discord.Embed[]embeds
System.BooleanisTTS
System.Booleanephemeral
Discord.AllowedMentionsallowedMentions
Discord.RequestOptionsoptions
Discord.MessageComponentcomponent
Discord.Embedembed

GetOriginalResponseAsync(RequestOptions)​

Gets the original response for this interaction.

View Source​
Declaration
public Task<RestInteractionMessage> GetOriginalResponseAsync(RequestOptions options = null)
Returns​

System.Threading.Tasks.Task<Discord.Rest.RestInteractionMessage>: A Discord.Rest.RestInteractionMessage that represents the initial response.

Parameters​
TypeNameDescription
Discord.RequestOptionsoptionsThe request options for this async request.

ModifyOriginalResponseAsync(Action<MessageProperties>, RequestOptions)​

Edits original response for this interaction.

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

System.Threading.Tasks.Task<Discord.Rest.RestInteractionMessage>: A Discord.Rest.RestInteractionMessage that represents the initial response.

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

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

View Source​
Declaration
public abstract string Respond(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.String

Parameters​
TypeName
System.Stringtext
Discord.Embed[]embeds
System.BooleanisTTS
System.Booleanephemeral
Discord.AllowedMentionsallowedMentions
Discord.RequestOptionsoptions
Discord.MessageComponentcomponent
Discord.Embedembed

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

Sends a followup message for this interaction.

View Source​
Declaration
public abstract 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 abstract 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.

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

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

View Source​
Declaration
Task IDiscordInteraction.RespondAsync(string text, Embed[] embeds, bool isTTS, bool ephemeral, AllowedMentions allowedMentions, RequestOptions options, MessageComponent component, Embed embed)
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.

IDiscordInteraction.DeferAsync(Boolean, RequestOptions)​

View Source​
Declaration
Task IDiscordInteraction.DeferAsync(bool ephemeral, RequestOptions options)
Returns​

System.Threading.Tasks.Task

Parameters​
TypeName
System.Booleanephemeral
Discord.RequestOptionsoptions

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

Sends a followup message for this interaction.

View Source​
Declaration
async Task<IUserMessage> IDiscordInteraction.FollowupAsync(string text, Embed[] embeds, bool isTTS, bool ephemeral, AllowedMentions allowedMentions, RequestOptions options, MessageComponent component, Embed embed)
Returns​

System.Threading.Tasks.Task<Discord.IUserMessage>: 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.

IDiscordInteraction.GetOriginalResponseAsync(RequestOptions)​

Gets the original response for this interaction.

View Source​
Declaration
async Task<IUserMessage> IDiscordInteraction.GetOriginalResponseAsync(RequestOptions options)
Returns​

System.Threading.Tasks.Task<Discord.IUserMessage>: A Discord.IUserMessage that represents the initial response.

Parameters​
TypeNameDescription
Discord.RequestOptionsoptionsThe request options for this async request.

IDiscordInteraction.ModifyOriginalResponseAsync(Action<MessageProperties>, RequestOptions)​

Edits original response for this interaction.

View Source​
Declaration
async Task<IUserMessage> IDiscordInteraction.ModifyOriginalResponseAsync(Action<MessageProperties> func, RequestOptions options)
Returns​

System.Threading.Tasks.Task<Discord.IUserMessage>: A Discord.IUserMessage that represents the initial response.

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

Implements​