在我的机器人开发过程中,我遇到了以下错误:
<块引用>无法读取未定义的属性“id”
这是我目前的代码:
const msg = message.channel.send(gvg).then(async msg => {
await msg.react('?');
await msg.react('?');
await msg.react('?');
await msg.react('⚙️');
const filter = (reaction) => ['?', '?', '?', '⚙️'].includes(reaction.emoji.name);
const collector = msg.createReactionCollector(filter,{ time: 30000 }, {dispose : true });
collector.on('collect', async (reaction, user ) => {
const member = message.guild.members.cache.get(user.id);
if (reaction.emoji.name === '?' ) {
member.roles.add('845380394513596446');
}
if (reaction.emoji.name === '?') {
member.roles.add('845380453597708299')
}
if (reaction.emoji.name === '?') {
member.roles.add('845380484964024330')
}
if (reaction.emoji.name === '⚙️') {
member.roles.remove('845380484964024330')
member.roles.remove('845380453597708299')
member.roles.remove('845380394513596446')
}
});
collector.dispose('remove', async (reaction, user, ) => {
const member = message.guild.members.cache.get(user.id);
if (reaction.emoji.name === '?' ) {
member.roles.remove('845380394513596446');
}
if (reaction.emoji.name === '?') {
member.roles.remove('845380453597708299')
}
if (reaction.emoji.name === '?') {
member.roles.remove('845380484964024330')
}
});
})
我特此尝试实现,当收回一个反应时,role
的{{1}}再次被移除。