Files
revanced-bots/bots/discord/src/commands/development/eval.ts
2024-06-24 23:00:59 +07:00

34 lines
1.1 KiB
TypeScript

import { inspect } from 'util'
import { SlashCommandBuilder } from 'discord.js'
import { createSuccessEmbed } from '$/utils/discord/embeds'
import type { Command } from '..'
export default {
data: new SlashCommandBuilder()
.setName('eval')
.setDescription('Evaluates something')
.addStringOption(option => option.setName('code').setDescription('The code to evaluate').setRequired(true))
.setDMPermission(true)
.toJSON(),
ownerOnly: true,
global: true,
// @ts-expect-error: Needed for science
async execute(context, interaction) {
const code = interaction.options.getString('code', true)
await interaction.reply({
ephemeral: true,
embeds: [
createSuccessEmbed('Evaluate', `\`\`\`js\n${code}\`\`\``).addFields({
name: 'Result',
// biome-ignore lint/security/noGlobalEval: Deal with it
value: `\`\`\`js\n${inspect(eval(code), { depth: 1 })}\`\`\``,
}),
],
})
},
} satisfies Command