Class DiscordInteractionData
An interaction is the base "thing" that is sent when a user invokes a command, and is the same for Slash Commands and other future interaction types (such as Message Components). Represents a discord Interaction Structure API model. Docs: https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-structure
Implements
Inherited Members
Namespace: Color_Chan.Discord.Core.Common.API.DataModels.Interaction
Assembly: Color-Chan.Discord.Core.dll
Syntax
public class DiscordInteractionData : IEquatable<DiscordInteractionData>
Properties
| Improve this Doc View SourceApplicationId
Id of the application this interaction is for.
Declaration
[JsonPropertyName("application_id")]
public ulong ApplicationId { get; set; }
Property Value
Type | Description |
---|---|
System.UInt64 |
ChannelId
The channel it was sent from.
Declaration
[JsonPropertyName("channel_id")]
public ulong? ChannelId { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.UInt64> |
Data
The command data payload.
Declaration
[JsonPropertyName("data")]
public DiscordInteractionRequestData Data { get; set; }
Property Value
Type | Description |
---|---|
DiscordInteractionRequestData |
Remarks
This is always present on application command interaction types. It is optional for future-proofing against new interaction types.
Entitlements
The entitlements attached to the interaction.
Declaration
[JsonPropertyName("entitlements")]
public IEnumerable<DiscordEntitlementData> Entitlements { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<DiscordEntitlementData> |
EntitlementSkuIds
The ids of the entitlements SKUs attached to the interaction.
Declaration
[JsonPropertyName("entitlement_sku_ids")]
public IEnumerable<ulong> EntitlementSkuIds { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.UInt64> |
GuildId
The guild it was sent from.
Declaration
[JsonPropertyName("guild_id")]
public ulong? GuildId { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.UInt64> |
GuildMember
Guild member data for the invoking user, including permissions.
Declaration
[JsonPropertyName("member")]
public DiscordGuildMemberData GuildMember { get; set; }
Property Value
Type | Description |
---|---|
DiscordGuildMemberData |
Id
The Discord provided snowflake id.
Declaration
[JsonPropertyName("id")]
public ulong Id { get; set; }
Property Value
Type | Description |
---|---|
System.UInt64 |
Message
For components, the message they were attached to.
Declaration
[JsonPropertyName("message")]
public DiscordMessageData Message { get; set; }
Property Value
Type | Description |
---|---|
DiscordMessageData |
Permissions
Permissions the app or bot has within the channel the interaction was sent from.
Declaration
[JsonPropertyName("app_permissions")]
public DiscordPermission? Permissions { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<DiscordPermission> |
RequestType
The type of interaction.
Declaration
[JsonPropertyName("type")]
public DiscordInteractionRequestType RequestType { get; set; }
Property Value
Type | Description |
---|---|
DiscordInteractionRequestType |
Token
A continuation token for responding to the interaction.
Declaration
[JsonPropertyName("token")]
public string Token { get; set; }
Property Value
Type | Description |
---|---|
String |
User
User object for the invoking user, if invoked in a DM.
Declaration
[JsonPropertyName("user")]
public DiscordUserData User { get; set; }
Property Value
Type | Description |
---|---|
DiscordUserData |
Versions
Read-only property, always 1
Declaration
[JsonPropertyName("version")]
public int Versions { get; set; }
Property Value
Type | Description |
---|---|
Int32 |