【发布时间】:2021-02-07 20:12:45
【问题描述】:
我不知道为什么我的反应角色代码不起作用。如果有人可以帮助我,将不胜感激!
client.on('messageReactionAdd', async (reaction, person) => {
if (reaction.partial) {
try {
await reaction.fetch();
} catch (error) {
console.error('Something went wrong when fetching the message: ', error);
return;
};
};
if (reaction.emoji.name == ':tools:') {
if (reaction.message.id === '769855387394375681')
var server = client.guilds.cache.get('769100711593771038');
let personMember = server.members.cache.get(person);
const devRole = server.roles.cache.get('769428024609079319')
personMember.roles.add(devRole);
};
});
client.on('message', message => {
return; //For now, gotta code more stuff later
});
消息功能用于缓存消息,以便机器人可以检测对该消息的反应,但如果确实需要,Idk。
也没有错误,只是不会给我这个角色。
【问题讨论】:
-
首先,表情符号名称不包括两边的冒号。它应该只是
tools。其次,看起来您应该结合您的两个if语句:if (reaction.emoji.name == 'tools' && reaction.message.id === '769855387394375681') {。如果您已经按 ID 进行比较,则不需要按名称进行比较,但任何一种方式都可以。
标签: javascript node.js discord discord.js