Если вы посмотрите на messageReactionAdd docs , вы увидите, что наряду с реакцией вы также можете получить пользователя, который добавил реакцию.Таким образом, вместо
client.on('messageReactionAdd', reaction => {
у вас будет
client.on('messageReactionAdd', (reaction, user) => {
Итак, у вас есть пользователь с типом Пользователь .Поскольку user
не относится к типу GuildMember, вам сначала нужно получить правильного члена гильдии, прежде чем вы сможете проверить его / ее роль.
Самый простой способ сделать это - получить сообщение, на которое реакциябыл добавлен с const msg = reaction.message;
.Тогда вы можете получить гильдию из сообщения с const guild = msg.guild;
.Теперь вы можете получить доступ к членам гильдии с помощью const guildMembers = guild.members;
.Наконец, вам нужно найти правильного участника с const guildMember = guildMembers.get(user.id);
.
Теперь, когда у вас есть член гильдии, вы можете получить доступ к его / ее ролям и, таким образом, проверить, есть ли у него / неене имеет определенной роли