【发布时间】:2021-04-27 20:49:59
【问题描述】:
我尝试使用自定义表情符号制作反应角色,但我不得不犯错误。问题一定出在:“if (reaction.emoji.id === rulesEmoji)”。没有错误。 (是的,我正在使用该服务器上的表情符号)
module.exports = {
name: 'reactionrole',
description: "Sets up a reaction role message!",
async execute(message, args, Discord, client, chalk) {
const rulesChannel = '801870345858580531';
const rulesRole = message.guild.roles.cache.find(role => role.name === "rules");
const rulesEmoji = "802253842648662026";
client.on('messageReactionAdd', async (reaction, user) => {
if (reaction.message.partial) await reaction.message.fetch();
if (reaction.partial) await reaction.fetch();
if (user.bot) return;
if (!reaction.message.guild) return;
if (reaction.message.channel.id == rulesChannel) {
if (reaction.emoji.id === rulesEmoji) {
await reaction.message.guild.members.cache.get(user.id).roles.add(rulesRole);
}
} else {
return;
}
});
client.on('messageReactionRemove', async (reaction, user) => {
if (reaction.message.partial) await reaction.message.fetch();
if (reaction.partial) await reaction.fetch();
if (user.bot) return;
if (!reaction.message.guild) return;
if (reaction.message.channel.id == rulesChannel) {
if (reaction.emoji.id === rulesEmoji) {
await reaction.message.guild.members.cache.get(user.id).roles.remove(rulesRole);
}
} else {
return;
}
});
}
}
【问题讨论】:
-
我不认为你可以在其中嵌套监听器,你必须在你的父文件中创建监听器。
标签: javascript discord discord.js