DiscordJS — выдать роль пользователю
Всем привет, мне каким то образом нужно выдать роль пользователю но понять как это сделать я не могу, просьба помочь разобраться.
const events = < MESSAGE_REACTION_ADD: 'messageReactionAdd', MESSAGE_REACTION_REMOVE: 'messageReactionRemove', >; bot.on('raw', async event => < // `event.t` is the raw event name if(event.t == 'MESSAGE_REACTION_REMOVE' || event.t == 'MESSAGE_REACTION_ADD') < const < d: data >= event; const user = await bot.users.fetch(data.user_id); //const channel = bot.channels.cache.get(data.channel_id); // if the message is already in the cache, don't re-emit the event const message = await bot.channels.cache.get(data.channel_id).messages.fetch(data.message_id); //console.log(message.reactions.message); const emoji = data.emoji.name; // This gives us the reaction we need to emit the event properly, in top of the message object const reaction = message.reactions.cache.get(emoji); //console.log(message); bot.emit(events[event.t], reaction, user); // custom emojis reactions are keyed in a `name:ID` format, while unicode emojis are keyed by names // if you're on the master/v12 branch, custom emojis reactions are keyed by their ID > >); bot.on('messageReactionAdd', (reaction, user) => < if (reaction.message.id == "772763833479069708" || reaction.message.id == "772762865169727528") < var message = reaction.message; if (reaction.emoji.name == "✅") < //user.setVoiceChannel("772762092096192543"); var role = message.guild.roles.cache.find(role =>role.id === "772867338470293534"); user.send('Вы подтвердили свою личность теперь вы авторизированный ✅ пользователь!') //console.log(reaction); > if (reaction.emoji.name == "") < let myRole = message.guild.roles.cache.get("772867093023555605"); user.send("Вам была выдана роль - Leader"); >if (reaction.emoji.name == "") < let myRole = message.guild.roles.cache.get("772866912551174195"); user.send("Вам была выдана роль - Player"); >> >); bot.on('messageReactionRemove', (reaction, user) => < if (reaction.message.id == "772763833479069708" || reaction.message.id == "772762865169727528") < var message = reaction.message; if (reaction.emoji.name == "✅") < let myRole = message.guild.roles.cache.get("772867338470293534"); user.send("Вы отказались от правил нашего дискорд сервера , група ✅ Verify была удалена!"); >if (reaction.emoji.name == "") < let myRole = message.guild.roles.cache.get("772867093023555605"); user.send("Роль Leader была удалена!"); >if (reaction.emoji.name == "") < let myRole = message.guild.roles.cache.get("772866912551174195"); userr.send("Роль Player была удалена!"); >> >); ```
Как выдать роль в боте discord.js?
bot.on(‘raw’, async (raw) => <
if(raw.t === «MESSAGE_REACTION_ADD») <
if(raw.d.message_id === «770476453146001428»)
<
var role = message.guild.roles.cache.find(role => role.id === «757820583508574340»);
var user = message.guild.members.cache.get(raw.d.user_id);
user.roles.add(role)
>
>
Ошибка
(node:12944) UnhandledPromiseRejectionWarning: ReferenceError: message is not defined
at Client. (C:\Users\Kirill\Desktop\12\main.js:140:15)
at Client.emit (events.js:315:20)
at WebSocketShard.onMessage (C:\Users\Kirill\Desktop\12\node_modules\discord.js\src\client\websocket\WebSocketShard.js:295:27)
at WebSocket.onMessage (C:\Users\Kirill\Desktop\12\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (C:\Users\Kirill\Desktop\12\node_modules\ws\lib\websocket.js:797:20)
at Receiver.emit (events.js:315:20)
at Receiver.dataMessage (C:\Users\Kirill\Desktop\12\node_modules\ws\lib\receiver.js:437:14)
at Receiver.getData (C:\Users\Kirill\Desktop\12\node_modules\ws\lib\receiver.js:367:17)
at Receiver.startLoop (C:\Users\Kirill\Desktop\12\node_modules\ws\lib\receiver.js:143:22)
(node:12944) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `—unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_reje. ). (rejection id: 1)
(node:12944) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Александр @Alexandre888 Куратор тега discord.js
