#javascript #discord #discord.js #roles
#javascript #Discord #discord.js #роли
Вопрос:
Я хочу, чтобы это было так, если участник выполняет определенную реакцию на определенное сообщение. это даст им роль. я знаю, как добавить роль
let role6 = member.guild.roles.cache.find(role => role.name == "Member");
if(!role6) return;
user.roles.add(role6);
но я не уверен, кто должен заставить ее запускаться :white_check_mark: реакция на определенное сообщение в канале. есть идеи?
Ответ №1:
Вы можете использовать messageReactionAdd
событие, которое будет выдавать, когда кто-то реагирует на сообщение.
client.on('messageReactionAdd', (reaction, user) => {
if (reaction.message.id !== 'Message ID') return;
const role6 = member.guild.roles.cache.find((role) => role.name == 'Member');
if (!role6) return;
reaction.guild.member(user).roles.add(role6);
});
Комментарии:
1. сообщение об ошибке = Сообщение не определено — что мне делать?
2. Ах, извините, это была ошибка с моей стороны. Заменить
message
наreaction.message
3. ну ладно, ура. есть ли способ отредактировать его, чтобы он добавлял роль только для определенной реакции?
4. Если это эмодзи в Юникоде, например ✅, вы можете использовать
if (reaction.emoji.name === ✅)
. Если это пользовательский смайлик, вы можете использоватьif (reaction.emoji.id === 'Emoji ID')