У меня тут проблемы, лол. Я пытаюсь создать бота разногласий для сообщества ARK: Survival Evolved, чтобы они могли создать индивидуальную роль для своего племени без помощи администратора. Я занимаюсь этим уже почти неделю. Есть ли что-то, что я делаю неправильно?
module.exports = {
data: new SlashCommandBuilder()
.setName('createtribe')
.setDescription('Creates a custom role for you and your tribemates')
.addStringOption(option =>
option.setName('tribename')
.setDescription('The name of your tribe')
.setRequired(true))
.addStringOption(option =>
option.setName('rolecolor')
.setDescription('The color you wish your role to have')
.setRequired(true)),
async execute(interaction) {
if (commandName === 'createtribe')
guild.roles.create({name: `${tribename}`});
await interaction.reply("Your tribe has been successfully registered");
}
}
Я не получаю никаких ошибок, но в консоли есть строка с надписью «ответил: ложь».
Я следовал руководству на сайте discord.js. У меня также есть некоторый опыт кодирования из колледжа.
if (commandName === 'createtribe')
отсутствуют фигурные скобки и не нужны, а guild
не определено. Вы также должны включать ошибки всякий раз, когда запрашиваете помощь по кодированию.
Я не получаю никаких ошибок консоли, но есть вещь, которая выскакивает «ответ = ложь»
Также была определена гильдия, я просто забыл включить ее в свой пост. Извинения.
Вам нужно принять свою логику в операторе if, а также справиться с обещанием guild.roles.create()
. Кроме того, вы не определили tribename
Логика Wdym внутри оператора if? Извините, новичок здесь, лолз.
Ваш оператор if является однострочным. Вам нужно дать ему область действия: if (...) { CODE HERE }
. В вашем текущем коде await interaction.reply("Your tribe has been successfully registered");
всегда будет работать независимо от оператора if.
async execute(guild) { if (commandName === 'createtribe') { await guild.roles.create({name: ${tribename}
})}; }, это мой код для создания роли. Если я облажался, лмк.
Кто-нибудь может помочь?
Регистрация опции не делает ее немедленно доступной в качестве переменной.
Вам нужно получить его через объект параметров взаимодействия. Вот так:
interaction.guild.roles.create({name: interaction.options.getString("tribename")});
Рекомендую прочитать руководство по Discord.JS полностью.
Вы знакомы с Javascript или имеете опыт программирования?