const data = new SlashCommandBuilder() // </> command
.setName('info')
.setDescription('информация об админе')
.addStringOption(option =>
option.setName('steam64')
.setDescription('numbers')
.setRequired(true));
//code
client.on('interactionCreate', async interaction => {
if (interaction.commandName === 'убитьбота') {
interaction.reply("Успешно!");
client.destroy();
}
else if (interaction.commandName === 'info'){ // Problem
console.log("here");
id = interaction.options.string; // over here //
console.log(id) // undefined
console.log(admins[id]) // undefined
const embed = new MessageEmbed()
.setColor('#77dd77')
.setTitle('Информация')
.setDescription(`Имя: ${admins[id].NAME} \n **Описание:** ${admins[id].DIS} \n **Звание:** ${admins[id].ADMINLVL} \n **Наказание** - ***Выговоров:*** ${admins[id].PUNS.VARN} | ***Предов:*** ${admins[id].PUNS.PRED}`); // error
await interaction.reply({ content: 'Вот!', ephemeral: true, embeds: [embed]});
console.log(interaction.option);
interaction.reply(`debug - {admins} в conlose)`);
}
});
如何获取通过option
传递的变量?
我已经检查了大多数方法,但我还没有找到一个获取变量的方法。
我使用的是Discord.js v13.12.0。JSON
:
{
"76561198887558606": {
"NAME": "Пельмень",
"DIS": "Вы хотите знать что-то обо мне? Хи-Хи [NO DATA] ooops!",
"ADMINLVL": "GOD XD",
"PUNS":
{
"VARN": 0,
"PRED": 0
}
},
"76561199037779891":{
"NAME": "Senko Number ₲ne",
"DIS": "[NO DATA] ooops!",
"ADMINLVL": "Технарь",
"PUNS":
{
"VARN": 0,
"PRED": 0
}
}
}
2条答案
按热度按时间pxy2qtax1#
要获取
.addStringOption(option => option.setName('steam64'))
设置的命令选项的用户输入,可以使用interaction.options.getString('steam64')
。您可以查看
CommandInteractionOptionResolver
的文档,在那里您可以找到您可能需要的所有方法:4xrmg8kj2#
const option = interaction.options.getString("steam64")
我想应该是这样的。