mark_edinoroglove
@mark_edinoroglove

Что не так с кодом js?

Здравствуйте, делаю бота дискорд, есть такой код
bot.on("message", message => {
    if (message.content.startsWith(prefix + "обновить_статус")) {
        var mysql      = require('mysql');
        var connection = mysql.createConnection({
          host     : 'localhost',
          user     : '------',
          password : '-------',
          database : '-------'
        });
         
        connection.connect(function(err) {
          if (err) {
            console.error('error connecting: ' + err.stack);
            return;
          }
          console.log('Бот успешно подключился к MYSQL!');
        });
    
        connection.query("SELECT `group` FROM `ma_players` WHERE `SID`='STEAM_0:1:442968961'", function (error, results, fields) {
            if (error) throw error;
            if (results[0].group === "user") {
                let mainRole = message.guild.roles.cache.find(role => role.name === "Помощник машиниста");
                message.member.roles.set(mainRole.id);
                console.log('добавлено');
            };
        });
    

    }
});

И в итоге при выполнении этого кода выходит ошибка

TypeError: data.roles.map is not a function
at GuildMember.edit (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\discord.js\src\structures\GuildMember.js:300:45)
at GuildMemberRoleManager.set (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\discord.js\src\managers\GuildMemberRoleManager.js:156:24)
at Query. (A:\Рабочий стол\боты Discord\Metrostroi Bot\bot.js:60:38)
at Query. (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\Connection.js:526:10)
at Query._callback (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\Connection.js:488:16)
at Query.Sequence.end (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24)
at Query._handleFinalResultPacket (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\protocol\sequences\Query.js:149:8)
at Query.EofPacket (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\protocol\sequences\Query.js:133:8)
at Protocol._parsePacket (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (A:\Рабочий стол\боты Discord\Metrostroi Bot\node_modules\mysql\lib\protocol\Parser.js:433:10)

Помогите пожалуйста, что я не так сделал?
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 1
@xIICUX
Возможно ошибка тут:
message.member.roles.set(mainRole.id);

Если вы хотите добавить роль пользователю ...roles.add(roleID)
Если убрать - ...roles.remove(roleID)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы