我有一个小型discord.js机器人,我在服务器上运行,它将处理一些自定义命令。我只想为某个角色运行的命令之一...我收到一个错误消息
无法读取null的属性“第一个”
我在这里肯定会漏掉一些明显的东西,但是在网上看时,我和其他人使用的是同一个人,所以我有些困惑。
else if (message.content.toLowerCase() === `${prefix}approve` )
{
message.delete();
const member = message.mentions.roles.first();
if (member.roles.cache.some(role => role.name === 'DiscordAdmin')) {
}
}
提前感谢您的时间。
答案 0 :(得分:0)
按照Elitezen的观点,您无法从Role提及中获得成员。而是使用通用的message.mention.members.first
函数。此外,您使用的是.content
而不是.startsWith
。这样做的问题是,仅当内容为“批准”时,代码才会运行。下面的代码解决了这些问题
// Switch to .startsWith
else if (message.content.startsWith.toLowerCase() === `${prefix}approve` ) {
message.delete();
const member = message.mentions.members.first(); // Member instead of role
if (member.roles.cache.some(role => role.name === 'DiscordAdmin')) {
// Run some code
}
}