import { GuildMember, CommandInteraction, SlashCommandBuilder } from 'discord.js'; import { changeLinkedCounterInteraction, linkedCounterAutocomplete } from '../lib/rpg/counter'; import { initHealth } from '../lib/rpg/pvp'; import { Command } from '../types/index'; export default { data: new SlashCommandBuilder() .setName('take') .setDescription('Take an item from a counter') .addStringOption(option => option .setName('type') .setAutocomplete(true) .setDescription('The name of the counter') .setRequired(true) ) .addIntegerOption((option) => option .setName('amount') .setRequired(false) .setDescription('Amount of items to take') .setMinValue(1) ) .setDMPermission(false), execute: async (interaction: CommandInteraction) => { if (!interaction.isChatInputCommand()) return; const member = interaction.member! as GuildMember; await initHealth(member.id); const amount = Math.trunc(interaction.options.getInteger('amount') || 1); const type = interaction.options.getString('type')!; await interaction.deferReply({ephemeral: true}); changeLinkedCounterInteraction(interaction, member, -amount, type); }, autocomplete: linkedCounterAutocomplete, } satisfies Command;