我正在用 JavaScript 为 Discord 构建一个简单的角色机器人。
它根据评论反应(表情符号)管理角色,如下所示:
client.on('messageReactionAdd', messageReactionAdd);
function messageReactionAdd(reaction, user) {
const member = reaction.message.guild.members.cache.get(user.id);
if (reaction.message.id === config.roleGameMessageId) {
switch (reaction.emoji.name) {
case '?':
member.roles.add(config.roles['chicken']);
break;
default:
reaction.remove();
break;
}
}
}
我还实现了 default
case 来捕获所有其他表情符号响应并根据文档使用 reaction.remove()
删除它们(以防止机器人上的表情符号垃圾邮件)并且它适用于前 3 个随机表情符号,但是然后它停止工作,任何人都可以在消息上放置任何类型的表情符号。
知道可能是什么问题吗?也许 reaction.remove()
的用法不正确或 discord.js 以某种方式限制了此功能?