| @@ -1142,8 +1142,13 @@ namespace Discord.API | |||||
| Preconditions.NotNull(command, nameof(command)); | Preconditions.NotNull(command, nameof(command)); | ||||
| Preconditions.AtMost(command.Name.Length, 32, nameof(command.Name)); | Preconditions.AtMost(command.Name.Length, 32, nameof(command.Name)); | ||||
| Preconditions.AtLeast(command.Name.Length, 3, nameof(command.Name)); | Preconditions.AtLeast(command.Name.Length, 3, nameof(command.Name)); | ||||
| Preconditions.AtMost(command.Description.Length, 100, nameof(command.Description)); | |||||
| Preconditions.AtLeast(command.Description.Length, 1, nameof(command.Description)); | |||||
| if (command.Type == ApplicationCommandType.Slash) | |||||
| { | |||||
| Preconditions.NotNullOrEmpty(command.Description, nameof(command.Description)); | |||||
| Preconditions.AtMost(command.Description.Length, 100, nameof(command.Description)); | |||||
| Preconditions.AtLeast(command.Description.Length, 1, nameof(command.Description)); | |||||
| } | |||||
| options = RequestOptions.CreateOrClone(options); | options = RequestOptions.CreateOrClone(options); | ||||
| @@ -1180,40 +1185,6 @@ namespace Discord.API | |||||
| return await TrySendApplicationCommand(SendJsonAsync<ApplicationCommand[]>("PUT", () => $"applications/{this.CurrentUserId}/commands", commands, new BucketIds(), options: options)).ConfigureAwait(false); | return await TrySendApplicationCommand(SendJsonAsync<ApplicationCommand[]>("PUT", () => $"applications/{this.CurrentUserId}/commands", commands, new BucketIds(), options: options)).ConfigureAwait(false); | ||||
| } | } | ||||
| public async Task<ApplicationCommand> CreateGlobalApplicationUserCommandAsync(CreateApplicationCommandParams command, RequestOptions options = null) | |||||
| { | |||||
| Preconditions.NotNull(command, nameof(command)); | |||||
| Preconditions.AtMost(command.Name.Length, 32, nameof(command.Name)); | |||||
| Preconditions.AtLeast(command.Name.Length, 3, nameof(command.Name)); | |||||
| options = RequestOptions.CreateOrClone(options); | |||||
| return await TrySendApplicationCommand(SendJsonAsync<ApplicationCommand>("POST", () => $"applications/{this.CurrentUserId}/commands", command, new BucketIds(), options: options)).ConfigureAwait(false); | |||||
| } | |||||
| public async Task<ApplicationCommand> CreateGlobalApplicationMessageCommandAsync(CreateApplicationCommandParams command, RequestOptions options = null) | |||||
| { | |||||
| Preconditions.NotNull(command, nameof(command)); | |||||
| Preconditions.AtMost(command.Name.Length, 32, nameof(command.Name)); | |||||
| Preconditions.AtLeast(command.Name.Length, 3, nameof(command.Name)); | |||||
| options = RequestOptions.CreateOrClone(options); | |||||
| return await TrySendApplicationCommand(SendJsonAsync<ApplicationCommand>("POST", () => $"applications/{this.CurrentUserId}/commands", command, new BucketIds(), options: options)).ConfigureAwait(false); | |||||
| } | |||||
| public async Task<ApplicationCommand[]> BulkOverwriteGlobalApplicationUserCommands(CreateApplicationCommandParams[] commands, RequestOptions options = null) | |||||
| { | |||||
| options = RequestOptions.CreateOrClone(options); | |||||
| return await TrySendApplicationCommand(SendJsonAsync<ApplicationCommand[]>("PUT", () => $"applications/{this.CurrentUserId}/commands", commands, new BucketIds(), options: options)).ConfigureAwait(false); | |||||
| } | |||||
| public async Task<ApplicationCommand[]> BulkOverwriteGlobalApplicationMessageCommands(CreateApplicationCommandParams[] commands, RequestOptions options = null) | |||||
| { | |||||
| options = RequestOptions.CreateOrClone(options); | |||||
| return await TrySendApplicationCommand(SendJsonAsync<ApplicationCommand[]>("PUT", () => $"applications/{this.CurrentUserId}/commands", commands, new BucketIds(), options: options)).ConfigureAwait(false); | |||||
| } | |||||
| public async Task<ApplicationCommand[]> GetGuildApplicationCommandsAsync(ulong guildId, RequestOptions options = null) | public async Task<ApplicationCommand[]> GetGuildApplicationCommandsAsync(ulong guildId, RequestOptions options = null) | ||||
| { | { | ||||
| @@ -1239,6 +1210,17 @@ namespace Discord.API | |||||
| public async Task<ApplicationCommand> CreateGuildApplicationCommandAsync(CreateApplicationCommandParams command, ulong guildId, RequestOptions options = null) | public async Task<ApplicationCommand> CreateGuildApplicationCommandAsync(CreateApplicationCommandParams command, ulong guildId, RequestOptions options = null) | ||||
| { | { | ||||
| Preconditions.NotNull(command, nameof(command)); | |||||
| Preconditions.AtMost(command.Name.Length, 32, nameof(command.Name)); | |||||
| Preconditions.AtLeast(command.Name.Length, 3, nameof(command.Name)); | |||||
| if (command.Type == ApplicationCommandType.Slash) | |||||
| { | |||||
| Preconditions.NotNullOrEmpty(command.Description, nameof(command.Description)); | |||||
| Preconditions.AtMost(command.Description.Length, 100, nameof(command.Description)); | |||||
| Preconditions.AtLeast(command.Description.Length, 1, nameof(command.Description)); | |||||
| } | |||||
| options = RequestOptions.CreateOrClone(options); | options = RequestOptions.CreateOrClone(options); | ||||
| var bucket = new BucketIds(guildId: guildId); | var bucket = new BucketIds(guildId: guildId); | ||||