Files
saddbot/commands/bot/task.js
2026-01-11 11:22:09 -05:00

32 lines
1.2 KiB
JavaScript

const { SlashCommandBuilder, MessageFlags } = require('discord.js');
const torn = require('../../torn.js');
const config = require('../../config.json');
const state = require('../../state.json');
module.exports = {
data: new SlashCommandBuilder()
.setName('task')
.setDescription('Execute a task.')
.addStringOption(option =>
option.setName('name')
.setDescription('The name of the task to execute.')
.setRequired(true)),
async execute(interaction) {
const taskName = interaction.options.getString('name');
const task = interaction.client.tasks[taskName];
if (!task) {
await interaction.reply({ content: `Task "${taskName}" not found.`, flags: MessageFlags.Ephemeral });
return;
}
try {
await interaction.reply({ content: `Executing task "${taskName}"...`, flags: MessageFlags.Ephemeral });
await task(interaction.client, torn, config, state);
await interaction.followUp({ content: `Task "${taskName}" executed successfully.`, flags: MessageFlags.Ephemeral });
} catch (error) {
console.error(error);
await interaction.followUp({ content: `There was an error while executing task "${taskName}"!`, flags: MessageFlags.Ephemeral });
}
},
};