From 9d44ca8d6dadeab91569b9c1b368c10c3ae2d515 Mon Sep 17 00:00:00 2001 From: Taken Date: Wed, 17 Jan 2024 21:16:55 +0100 Subject: [PATCH] Added random stuff --- src/commands/pp.ts | 44 ++++++++++++++++++++++++++++++ src/events/server/messages/eval.ts | 34 +++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 src/commands/pp.ts create mode 100644 src/events/server/messages/eval.ts diff --git a/src/commands/pp.ts b/src/commands/pp.ts new file mode 100644 index 0000000..96ca7a1 --- /dev/null +++ b/src/commands/pp.ts @@ -0,0 +1,44 @@ +import { SlashCommandBuilder, User } from "discord.js" +import { color } from "config/options.json" +import { Command } from "interfaces" +import env from "utils/Env" + +export = { + name: "pp", + description: "Shows pp size", + type: "slash", + public: true, + dev: true, + + data: new SlashCommandBuilder() + .setName("pp") + .setDescription("Shows pp size") + .addUserOption( + option => + option + .setName("user") + .setDescription("User to show pp size") + .setRequired(false) + ) + .setDMPermission(false), + + async execute(interaction) { + const user = (interaction.options.getUser("user") || interaction.user) as User + const embedColor = Number(color.replace("#", "0x")) + let size: number + + if (user.id === env.prod.dev) { + size = Math.floor(Math.random() * 30) + 1 + } else { + size = Math.floor(Math.random() * 10) + 1 + } + + await interaction.reply({ + embeds: [{ + title: `${user.username}'s pp size`, + description: `8${"=".repeat(size)}D`, + color: embedColor + }] + }) + } +} as Command \ No newline at end of file diff --git a/src/events/server/messages/eval.ts b/src/events/server/messages/eval.ts new file mode 100644 index 0000000..761b892 --- /dev/null +++ b/src/events/server/messages/eval.ts @@ -0,0 +1,34 @@ +import { Message } from "discord.js" +import { Event } from "interfaces" +import env from "utils/Env" + +export = { + name: "eval", + description: "Evaluate a JavaScript expression", + type: "event", + event: "messageCreate", + + async execute(message: Message) { + if (message.author.bot) return + if (message.author.id !== env.prod.dev) return + if (!message.content.startsWith("!eval")) return + + const code = message.content.split(" ").slice(1).join(" ") + + try { + const output = eval(code) + const outputString = String(output) + await message.channel.send({ + embeds: [{ + description: `\`\`\`js\n${outputString}\`\`\`` + }] + }) + } catch (error) { + await message.channel.send({ + embeds: [{ + description: `\`\`\`js\n${error}\`\`\`` + }] + }) + } + } +} as Event \ No newline at end of file