Проблема с выдачей ролей discord.js
Я сделал в коде так, чтобы когда пользователь отправил слово "согласен", то ему выдавалась роль.
const Discord = require('discord.js');
const client = new Discord.Client();
var prefix = '!'
client.on('message', message => {
if(message.author === client.user) return;
if(message.content.startsWith('согласен')) {
var user = message.author
user.addRole(704755953496621117)
}
});
client.login('секрет');
Но когда пользователь пишет "согласен", консоль пишет ошибку:
user.addRole(704755953496621117)
^
TypeError: user.addRole is not a function
at Client.<anonymous> (C:\discordbottm\bot.js:11:8)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (C:\discordbottm\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\discordbottm\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\discordbottm\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\discordbottm\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (C:\discordbottm\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\discordbottm\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (C:\discordbottm\node_modules\ws\lib\websocket.js:800:20)
Как исправить? Заранее спасибо.
Ответы (1 шт):
Автор решения: Ben
→ Ссылка
Я не могу понять, какая версия discord.js. Ты используешь способ 11 версии, но ошибка из 12 версии. Вот тут документация по 12 версии
Лично я использовал так:
message.member.addRole('id');