diff --git a/src/commands/borf.ts b/src/commands/borf.ts index 8880112..ff6d5c7 100644 --- a/src/commands/borf.ts +++ b/src/commands/borf.ts @@ -28,7 +28,6 @@ export class UserCommand extends Command { private async sendBorf(interactionOrMessage: Message | Command.ChatInputCommandInteraction | Command.ContextMenuCommandInteraction) { const dogResponse = await fetch('https://dog.ceo/api/breeds/image/random'); const dogData = await dogResponse.json(); - console.log(dogData); interactionOrMessage instanceof Message ? await interactionOrMessage.channel.send({ diff --git a/src/commands/meow.ts b/src/commands/meow.ts new file mode 100644 index 0000000..036b592 --- /dev/null +++ b/src/commands/meow.ts @@ -0,0 +1,40 @@ +import { ApplyOptions } from '@sapphire/decorators'; +import { Command } from '@sapphire/framework'; +import { Message } from 'discord.js'; + +@ApplyOptions({ + description: 'Meow!' +}) +export class UserCommand extends Command { + // Register Chat Input and Context Menu command + public override registerApplicationCommands(registry: Command.Registry) { + // Register Chat Input command + registry.registerChatInputCommand({ + name: this.name, + description: this.description + }); + } + + // Message command + public async messageRun(message: Message) { + return this.sendMeow(message); + } + + // Chat Input (slash) command + public async chatInputRun(interaction: Command.ChatInputCommandInteraction) { + return this.sendMeow(interaction); + } + + private async sendMeow(interactionOrMessage: Message | Command.ChatInputCommandInteraction | Command.ContextMenuCommandInteraction) { + const catResponse = await fetch('https://cataas.com/cat?json=true'); + const catData = await catResponse.json(); + interactionOrMessage instanceof Message + ? await interactionOrMessage.channel.send({ + content: `https://cataas.com/${catData.url}` + }) + : await interactionOrMessage.reply({ + content: `https://cataas.com/${catData.url}`, + fetchReply: true + }); + } +}