diff --git a/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandOptionType.cs b/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandOptionType.cs
index 3a03e028b..97ab54d3d 100644
--- a/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandOptionType.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandOptionType.cs
@@ -7,47 +7,47 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// The option type of the Slash command parameter, See
+ /// The option type of the Slash command parameter, See the discord docs.
///
public enum ApplicationCommandOptionType : byte
{
///
- /// A sub command
+ /// A sub command.
///
SubCommand = 1,
///
- /// A group of sub commands
+ /// A group of sub commands.
///
SubCommandGroup = 2,
///
- /// A of text
+ /// A of text.
///
String = 3,
///
- /// An
+ /// An .
///
Integer = 4,
///
- /// A
+ /// A .
///
Boolean = 5,
///
- /// A
+ /// A .
///
User = 6,
///
- /// A
+ /// A .
///
Channel = 7,
///
- /// A
+ /// A .
///
Role = 8
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandProperties.cs b/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandProperties.cs
index 08406f844..7fa28c8d0 100644
--- a/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandProperties.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/ApplicationCommandProperties.cs
@@ -9,11 +9,21 @@ namespace Discord
///
/// Provides properties that are used to modify a with the specified changes.
///
- ///
public class ApplicationCommandProperties
{
+ ///
+ /// Gets or sets the name of this command.
+ ///
public string Name { get; set; }
+
+ ///
+ /// Gets or sets the discription of this command.
+ ///
public string Description { get; set; }
+
+ ///
+ /// Gets or sets the options for this command.
+ ///
public Optional> Options { get; set; }
}
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommand.cs b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommand.cs
index cd119cf4b..122f2c599 100644
--- a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommand.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommand.cs
@@ -7,32 +7,37 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// The base command model that belongs to an application. see
+ /// The base command model that belongs to an application. see
///
public interface IApplicationCommand : ISnowflakeEntity
{
///
- /// Gets the unique id of the command
+ /// Gets the unique id of the command.
///
ulong Id { get; }
///
- /// Gets the unique id of the parent application
+ /// Gets the unique id of the parent application.
///
ulong ApplicationId { get; }
///
- /// The name of the command
+ /// The name of the command.
///
string Name { get; }
///
- /// The description of the command
+ /// The description of the command.
///
string Description { get; }
///
- /// Modifies this command
+ /// If the option is a subcommand or subcommand group type, this nested options will be the parameters.
+ ///
+ IEnumerable? Options { get; }
+
+ ///
+ /// Modifies this command.
///
/// The delegate containing the properties to modify the command with.
/// The options to be used when sending the request.
@@ -40,7 +45,5 @@ namespace Discord
/// A task that represents the asynchronous modification operation.
///
Task ModifyAsync(Action func, RequestOptions options = null);
-
- IEnumerable? Options { get; }
}
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionData.cs b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionData.cs
index c2b00ac4a..6f700d898 100644
--- a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionData.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionData.cs
@@ -7,22 +7,22 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// Represents data of an Interaction Command, see
+ /// Represents data of an Interaction Command, see
///
public interface IApplicationCommandInteractionData
{
///
- /// The snowflake id of this command
+ /// The snowflake id of this command
///
ulong Id { get; }
///
- /// The name of this command
+ /// The name of this command
///
string Name { get; }
///
- /// The params + values from the user
+ /// The params + values from the user
///
IReadOnlyCollection Options { get; }
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionDataOption.cs b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionDataOption.cs
index 931c12f2a..871eb4ae6 100644
--- a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionDataOption.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandInteractionDataOption.cs
@@ -7,22 +7,25 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// Represents a option group for a command, see
+ /// Represents a option group for a command, see
///
public interface IApplicationCommandInteractionDataOption
{
///
- /// The name of the parameter
+ /// The name of the parameter.
///
string Name { get; }
///
- /// The value of the pair
+ /// The value of the pair.
+ ///
+ /// This objects type can be any one of the option types in
+ ///
///
- ApplicationCommandOptionType? Value { get; }
+ object? Value { get; }
///
- /// Present if this option is a group or subcommand
+ /// Present if this option is a group or subcommand.
///
IReadOnlyCollection Options { get; }
diff --git a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOption.cs b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOption.cs
index 466c2a3fc..14e25a26e 100644
--- a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOption.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOption.cs
@@ -7,42 +7,42 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// Options for the , see
+ /// Options for the , see The docs.
///
public interface IApplicationCommandOption
{
///
- /// The type of this
+ /// The type of this .
///
ApplicationCommandOptionType Type { get; }
///
- /// The name of this command option, 1-32 character name.
+ /// The name of this command option, 1-32 character name.
///
string Name { get; }
///
- /// The discription of this command option, 1-100 character description
+ /// The discription of this command option, 1-100 character description.
///
string Description { get; }
///
- /// the first required option for the user to complete--only one option can be default
+ /// The first required option for the user to complete--only one option can be default.
///
bool? Default { get; }
///
- /// if the parameter is required or optional--default
+ /// If the parameter is required or optional, default is .
///
bool? Required { get; }
///
- /// choices for string and int types for the user to pick from
+ /// Choices for string and int types for the user to pick from.
///
IEnumerable? Choices { get; }
///
- /// if the option is a subcommand or subcommand group type, this nested options will be the parameters
+ /// if the option is a subcommand or subcommand group type, this nested options will be the parameters.
///
IEnumerable? Options { get; }
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOptionChoice.cs b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOptionChoice.cs
index d7d81ab0d..3b4c7c249 100644
--- a/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOptionChoice.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/IApplicationCommandOptionChoice.cs
@@ -7,17 +7,17 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// Specifies choices for command group
+ /// Specifies choices for command group.
///
public interface IApplicationCommandOptionChoice
{
///
- /// 1-100 character choice name
+ /// 1-100 character choice name.
///
string Name { get; }
///
- /// value of the choice
+ /// value of the choice.
///
string Value { get; }
diff --git a/src/Discord.Net.Core/Entities/Interactions/IDiscordInteraction.cs b/src/Discord.Net.Core/Entities/Interactions/IDiscordInteraction.cs
index 80b0e9153..2cc0faf4f 100644
--- a/src/Discord.Net.Core/Entities/Interactions/IDiscordInteraction.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/IDiscordInteraction.cs
@@ -7,48 +7,36 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// 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.
- /// see
+ /// Represents a discord interaction
+ ///
+ /// 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. see .
+ ///
///
public interface IDiscordInteraction : ISnowflakeEntity
{
///
- /// id of the interaction
+ /// The id of the interaction.
///
ulong Id { get; }
///
- /// The type of this
+ /// The type of this .
///
InteractionType Type { get; }
///
- /// The command data payload
+ /// The command data payload.
///
IApplicationCommandInteractionData? Data { get; }
///
- /// The guild it was sent from
- ///
- ulong GuildId { get; }
-
- ///
- /// The channel it was sent from
- ///
- ulong ChannelId { get; }
-
- ///
- /// Guild member id for the invoking user
- ///
- ulong MemberId { get; }
-
- ///
- /// A continuation token for responding to the interaction
+ /// A continuation token for responding to the interaction.
///
string Token { get; }
///
- /// read-only property, always 1
+ /// read-only property, always 1.
///
int Version { get; }
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/InteractionResponseType.cs b/src/Discord.Net.Core/Entities/Interactions/InteractionResponseType.cs
index afb1ff13c..99a228358 100644
--- a/src/Discord.Net.Core/Entities/Interactions/InteractionResponseType.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/InteractionResponseType.cs
@@ -7,32 +7,32 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// The response type for an
+ /// The response type for an .
///
public enum InteractionResponseType : byte
{
///
- /// ACK a Ping
+ /// ACK a Ping.
///
Pong = 1,
///
- /// ACK a command without sending a message, eating the user's input
+ /// ACK a command without sending a message, eating the user's input.
///
Acknowledge = 2,
///
- /// Respond with a message, eating the user's input
+ /// Respond with a message, eating the user's input.
///
ChannelMessage = 3,
///
- /// respond with a message, showing the user's input
+ /// Respond with a message, showing the user's input.
///
ChannelMessageWithSource = 4,
///
- /// ACK a command without sending a message, showing the user's input
+ /// ACK a command without sending a message, showing the user's input.
///
ACKWithSource = 5
}
diff --git a/src/Discord.Net.Core/Entities/Interactions/InteractionType.cs b/src/Discord.Net.Core/Entities/Interactions/InteractionType.cs
index 0b5f32f1f..f95960586 100644
--- a/src/Discord.Net.Core/Entities/Interactions/InteractionType.cs
+++ b/src/Discord.Net.Core/Entities/Interactions/InteractionType.cs
@@ -7,17 +7,17 @@ using System.Threading.Tasks;
namespace Discord
{
///
- /// Represents a type of Interaction from discord.
+ /// Represents a type of Interaction from discord.
///
public enum InteractionType : byte
{
///
- /// A ping from discord
+ /// A ping from discord.
///
Ping = 1,
///
- /// An sent from discord
+ /// An sent from discord.
///
ApplicationCommand = 2
}
diff --git a/src/Discord.Net.Core/Entities/Messages/MessageType.cs b/src/Discord.Net.Core/Entities/Messages/MessageType.cs
index ad1f3a3cd..e6a117ba5 100644
--- a/src/Discord.Net.Core/Entities/Messages/MessageType.cs
+++ b/src/Discord.Net.Core/Entities/Messages/MessageType.cs
@@ -64,5 +64,12 @@ namespace Discord
/// Only available in API v8.
///
Reply = 19,
+ ///
+ /// The message is an Application Command
+ ///
+ ///
+ /// Only available in API v8
+ ///
+ ApplicationCommand = 20
}
}
diff --git a/src/Discord.Net.Rest/API/Common/ApplicationCommandInteractionDataOption.cs b/src/Discord.Net.Rest/API/Common/ApplicationCommandInteractionDataOption.cs
index 1d1592bb8..84f2e3f7a 100644
--- a/src/Discord.Net.Rest/API/Common/ApplicationCommandInteractionDataOption.cs
+++ b/src/Discord.Net.Rest/API/Common/ApplicationCommandInteractionDataOption.cs
@@ -13,7 +13,7 @@ namespace Discord.API
public string Name { get; set; }
[JsonProperty("value")]
- public Optional Value { get; set; }
+ public Optional