From 72487019b3f255cece40a8073bbad8bc9968a3b7 Mon Sep 17 00:00:00 2001 From: "Alex Pooley (@zuedev)" Date: Wed, 22 Jul 2026 15:32:57 +0100 Subject: major code refactor, add uex lookup --- 174bg/discord-bot/source/commands/requisition.js | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 174bg/discord-bot/source/commands/requisition.js (limited to '174bg/discord-bot/source/commands/requisition.js') diff --git a/174bg/discord-bot/source/commands/requisition.js b/174bg/discord-bot/source/commands/requisition.js new file mode 100644 index 0000000..02c7699 --- /dev/null +++ b/174bg/discord-bot/source/commands/requisition.js @@ -0,0 +1,42 @@ +import { SlashCommandBuilder } from "discord.js"; +import createTicket from "../utilities/createTicket.js"; +import notifyRoleByName from "../utilities/notifyRoleByName.js"; + +export default { + data: new SlashCommandBuilder() + .setName("requisition") + .setDescription( + "Request items from the quartermaster. A new requisition ticket will be created.", + ) + .addStringOption((option) => + option + .setName("contents") + .setDescription("What are you requesting? Be as specific as possible.") + .setRequired(true), + ), + execute: async (interaction) => { + const contents = interaction.options.getString("contents"); + + const ticket = await createTicket(interaction, { + roleNamesWithAccess: ["quartermaster"], + ticketNamePrefix: "req-", + }); + + await ticket.send({ + content: `**New requisition request from <@${interaction.user.id}>**: ${contents}`, + }); + + // reply to the user + await interaction.reply({ + content: `Your requisition ticket has been created: <#${ticket.id}>`, + ephemeral: true, + }); + + // notify quartermasters + await notifyRoleByName( + interaction.guild, + "quartermaster", + `New requisition request from <@${interaction.user.id}>: ${contents}`, + ); + }, +}; -- cgit v1.2.3