【发布时间】:2020-07-24 13:02:08
【问题描述】:
我正在尝试执行 kicka 命令,但由于此错误而无法正常工作,我得到“(node:13848) UnhandledPromiseRejectionWarning: TypeError: message.member.roles.some is not a function”
我的代码 `client.on('message', async message => { if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
if(command === "kick") {
if(!message.member.roles.some(r=>["Administrator", "Moderator"].includes(r.name)) )
return message.reply("Sorry, you don't have permissions to use this!");
let member = message.mentions.members.first() || message.guild.members.get(args[0]);
if(!member)
return message.reply("Please mention a valid member of this server");
if(!member.kickable)
return message.reply("I cannot kick this user! Do they have a higher role? Do I have kick permissions?");
let reason = args.slice(1).join(' ');
if(!reason) reason = "No reason provided";
await member.kick(reason)
.catch(error => message.reply(`Sorry ${message.author} I couldn't kick because of : ${error}`));
message.reply(`${member.user.tag} has been kicked by ${message.author.tag} because: ${reason}`);
}});`
【问题讨论】:
-
我忘了告诉我在尝试执行 kick 命令时出错了!
-
如果
message.member.roles.some不是函数,则表示message.member.roles不是数组。检查它是什么,例如通过console.log,例如
标签: javascript discord.js