himbot/src/commands/borf.ts
Atridad Lahiji 3e8886256a
borf pls
2023-06-05 22:29:03 -06:00

42 lines
1.4 KiB
TypeScript

import { ApplyOptions } from '@sapphire/decorators';
import { Command } from '@sapphire/framework';
import { Message } from 'discord.js';
@ApplyOptions<Command.Options>({
description: 'Borf! Borf!'
})
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.sendBorf(message);
}
// Chat Input (slash) command
public async chatInputRun(interaction: Command.ChatInputCommandInteraction) {
return this.sendBorf(interaction);
}
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({
content: dogData.status === 'success' ? dogData.message : 'Error: I had troubles fetching perfect puppies for you... :('
})
: await interactionOrMessage.reply({
content: 'success' ? dogData.message : 'Error: I had troubles fetching perfect puppies for you... :(',
fetchReply: true
});
}
}