如何使用机器人删除不和谐的消息,但只能使用特殊角色 node.js
Posted
技术标签:
【中文标题】如何使用机器人删除不和谐的消息,但只能使用特殊角色 node.js【英文标题】:How to delete messages on discord with a bot but only with a special role node.js 【发布时间】:2021-01-16 20:21:20 【问题描述】:好的,我记得我以前做过,但是我完全不记得代码是什么了。
我希望机器人检查命令的作者是否具有“删除大师”角色。如果不是,那么它应该给出错误“你没有所需的角色!”。
这是我目前拥有的代码:
const amount = parseInt(args[2]) + 1;
if (isNaN(amount))
return msg.reply("that doesnt seem to be a valid number.");
else if (amount <= 1 || amount > 100)
return msg.reply("you need to input a number between 2 and 100.");
msg.channel.bulkDelete(amount, true).catch((err) =>
console.error(err);
msg.channel.send("there was an error trying to delete messages in this channel!");
);
【问题讨论】:
【参考方案1】:您可以使用message.member.roles.cache.has()
(假设您使用的是 DJS v12)来检查该成员是否具有该角色。将 Delete Master Role ID 传入.has()
这是一个例子
if (message.member.roles.cache.has('1234567890')
// Allow message deletion
else
// Error message
【讨论】:
以上是关于如何使用机器人删除不和谐的消息,但只能使用特殊角色 node.js的主要内容,如果未能解决你的问题,请参考以下文章
如何让我的机器人忽略来自具有特定角色的人的消息? (不和谐.py)
如何让一个不和谐的 js 机器人在某人获得某个角色后向他发送消息