He estado tratando de descubrir cómo hacer que mi comando de abrazo mencione tanto al remitente como al destinatario del comando. Además, cuando inicie el comando, le pedirá al remitente que seleccione a alguien para mencionar antes de que se envíe el comando (¿o está integrado? Todavía no lo sé)
He leído los documentos de la clase de usuario y también he leído esta publicación aquí, pero he llegado a la conclusión de que ambos no usan comandos de barra, que es lo que me han enseñado sobre cómo hacerlo, no usar incrustaciones o texto para los comandos, solo un comando de barra. ¡Si hay alguna ayuda para esto, sería muy apreciada! Sin embargo, aquí está mi código resultante hasta ahora
const { SlashCommandBuilder } = require('@discordjs/builders'); module.exports = { data: new SlashCommandBuilder() .setName('hug') .setDescription('Hug Someone'), async execute(interaction) { return interaction.reply(`${user} hugs ${user}`) }, };
Puede obtener el autor de la Interaction
utilizando la propiedad Interaction#user
.
Para especificar un User
para abrazar, deberá agregar SlashCommandUserOption
.
A continuación, puede obtener el User
mediante CommandInteractionOptionResolver#getUser
module.exports = { data: new SlashCommandBuilder() .setName('hug') .setDescription('Hug Someone') .addUserOption(option => option .setName('user') .setDescription('The user you want to hug') .setRequired(true) ), async execute(interaction) { return interaction.reply(`${interaction.user} hugs ${interaction.options.getUser('user')}`) }, };