#node.js #discord #discord.js
#node.js #Discord #discord.js
Вопрос:
Я попытался добавить try и catch в свой код, чтобы он делал то, что я хочу, однако я получаю эту ошибку:
TypeError: Cannot read property 'content' of undefined
Это мой код:
if (!message.guild.me.hasPermission(`MANAGE_CHANNELS`)) return message.reply('I lack the required permissions to run this command. (Required Permissions: ``MANAGE_CHANNELS``)');
if(message.member.hasPermission("MANAGE_CHANNELS")){
const channel = message.channel;
const Discord = require("discord.js");
let role = message.mentions.roles.first() || message.guild.roles.cache.find(role => role.name === args.join(" "));
if(!role){
message.reply("please mention a role.")
} else{
message.reply('Are you sure you want to continue this command, it will disallow send permissions from the role you mentioned. Type ``yes`` to continue.')
let filter = msg => msg.author.id == message.author.id
message.channel.awaitMessages(filter, {max: 1, time: 20000}).then(collected => {
(Error line)> if (collected.first().content.toLowerCase() !== 'yes') return;
try {
const embed = new Discord.MessageEmbed()
.setTitle("Channel Locked")
.setColor("RED")
.setDescription(`Channel locked to the specified role`)
message.channel.updateOverwrite(role, {
SEND_MESSAGES: false
})
.then(channel => channel.send(embed))
.catch(console.error)
}
catch(error) {
message.reply("Command either timed out or there was an error.")
}
})
}
}
Я совсем не разбираюсь в try и catch, поэтому предполагаю, что сделал что-то не так.
Спасибо
Ответ №1:
проблема собрана.first() ничего не возвращает. попробуйте console.log(collected)
выполнить отладку.
может быть, вы не получаете сообщение