diff --git a/src/commands/bunny.ts b/src/commands/bunny.ts new file mode 100644 index 0000000..758df44 --- /dev/null +++ b/src/commands/bunny.ts @@ -0,0 +1,29 @@ +import ErrorEmbed from "../helpers/embeds/ErrorEmbed"; +import PublicEmbed from "../helpers/embeds/PublicEmbed"; +import { Command } from "../type/command"; +import { ICommandContext } from "../contracts/ICommandContext"; +import randomBunny from "random-bunny"; + +export default class Bunny extends Command { + constructor() { + super(); + + super.Category = "Fun"; + } + + public override async execute(context: ICommandContext) { + const result = await randomBunny('rabbits', 'hot'); + + if (result.IsSuccess) { + const embed = new PublicEmbed(context, result.Result!.Title, "") + .setImage(result.Result!.Url) + .setURL(`https://reddit.com${result.Result!.Permalink}`) + .setFooter({ text: `r/Rabbits ยท ${result.Result!.Ups} upvotes` }); + + embed.SendToCurrentChannel(); + } else { + const errorEmbed = new ErrorEmbed(context, "There was an error using this command."); + errorEmbed.SendToCurrentChannel(); + } + } +} \ No newline at end of file diff --git a/src/registry.ts b/src/registry.ts index 19a673a..9d073b1 100644 --- a/src/registry.ts +++ b/src/registry.ts @@ -24,11 +24,13 @@ import Lobby from "./commands/501231711271780357/lobby"; // Event Imports import MemberEvents from "./events/MemberEvents"; import MessageEvents from "./events/MessageEvents"; +import Bunny from "./commands/bunny"; export default class Registry { public static RegisterCommands() { CoreClient.RegisterCommand("about", new About()); CoreClient.RegisterCommand("ban", new Ban()); + CoreClient.RegisterCommand("bunny", new Bunny()); CoreClient.RegisterCommand("clear", new Clear()); CoreClient.RegisterCommand("help", new Help()); CoreClient.RegisterCommand("kick", new Kick());