我的机器人程序需要忽略具有特定角色的人的帖子。
我已经编写了这段代码,它应该可以工作,但是这段代码下的每个命令都不起作用。
我没有收到任何错误消息,并且我的机器人可以在这段代码之上运行。 我需要更改什么?
client.on('message', message => {
if (message.guild.roles.cache.find(r => r.name === "ROLE NAME")) {return;}
})
感谢您的帮助。
答案 0 :(得分:0)
您正在检查Guild
是否有名为ROLE NAME
的{{3}},而不是实际的Role
。
GuildMember
具有一个名为GuildMember
的属性,其中包含roles
的所有角色。
client.on("message", message => {
if (message.member.roles.cache.find(role => role.name == "ROLE NAME")) return false;
// Execute your commands here.
});
答案 1 :(得分:0)
您应该检查GuildMember
是否具有Role
,而不是Guild
。
client.on("message", message => {
if (message.member.roles.cache.some(role => role.name == "ROLE NAME")) return;
// code...
});
您可以使用.some()
方法,该方法将检查Collection
(the member's roles)中是否有任何一项通过您的测试。在这种情况下,测试是角色名称是否等于ROLE NAME