如何使用机器人删除不和谐的消息,但只能使用特殊角色 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 机器人在某人获得某个角色后向他发送消息

如果我将他们的 ID 作为字符串,如何在 java 中使用不和谐机器人向用户添加角色?

你如何删除不和谐机器人的最新消息? - 不和谐.py

关于新角色不和谐的消息[关闭]

如何让我的不和谐机器人列出某个角色的人?