diff --git a/src/Discord.php b/src/Discord.php index f5879e8..2857628 100755 --- a/src/Discord.php +++ b/src/Discord.php @@ -52,6 +52,31 @@ public function createCommand(DiscordApplicationCommand $command): Response return $this->client->post("/applications/{$applicationId}/commands", $command->toArray()); } + /** + * @return Collection + */ + public function getCommands(): Collection + { + $applicationId = config('discord-interactions.application_id'); + + if (! is_string($applicationId)) { + throw new InvalidConfigurationException('discord-interactions.application_id'); + } + + return DiscordApplicationCommand::collect($this->client->throw()->get("/applications/{$applicationId}/commands")->collect()); + } + + public function deleteCommand(string $commandId): Response + { + $applicationId = config('discord-interactions.application_id'); + + if (! is_string($applicationId)) { + throw new InvalidConfigurationException('discord-interactions.application_id'); + } + + return $this->client->throw()->delete("/applications/{$applicationId}/commands/{$commandId}"); + } + public function updateInteractionMessage(DiscordInteraction $interaction, DiscordMessage $message): Response { return $this->client->patch("/webhooks/{$interaction->application_id}/{$interaction->token}/messages/@original", $message->toArray()); diff --git a/src/Facades/Discord.php b/src/Facades/Discord.php index 54b0b53..f7d9d2c 100644 --- a/src/Facades/Discord.php +++ b/src/Facades/Discord.php @@ -15,6 +15,8 @@ /** * @method static Response createCommand(DiscordApplicationCommand $command) + * @method static Collection getCommands() + * @method static Response deleteCommand(string $commandId) * @method static Response updateInteractionMessage(DiscordInteraction $interaction, DiscordMessage $message) * @method static Response deleteInteractionMessage(DiscordInteraction $interaction) * @method static Response createMessage(string $channelId, DiscordMessage $message)