Как выдать роль в боте discord.js? Как выдать роль, зная только id роли и id участника? И не имея message?

Есть вот такой код:

let timerId = setInterval(function tick() {
  fs.readFile('doebator.json', (err, data) => {
    if (err){
        // Обработка ошибок
        return console.log(err);
    }

    var userData = JSON.parse(data);
    var d = new Date,
    dformat = [d.getDate(),
      d.getMonth()+1,
      d.getFullYear()].join('.')+'-'+
      [d.getHours(),
      d.getMinutes()].join('.');
      if(userData.length != null){
      if(dformat>=userData[0].time){
   // robot.channels.cache.get(userData[0].channel).send(`<@${userData[0].user}> вы размучены`)
    userData.splice(0);
    }
  }
});
}, 5000);

Как зная id пользователя, удалить и добавить ему роль?
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
нужно иметь как минимум ID сервера, на котором нужно выдать пользователю роль.
исходя из
// robot.channels.cache.get(userData[0].channel).send(`<@${userData[0].user}> вы размучены`)

...могу предложить следующий вариант, где бот, зная ID канала, получает ID сервера:
/* для добавления роли */

robot.guilds.cache.get(robot.channels.cache.get(userData[0].channel).guild.id).members.cache.get("id_пользователя").roles.add("id_роли")

/* для удаления роли*/

robot.guilds.cache.get(robot.channels.cache.get(userData[0].channel).guild.id).members.cache.get("id_пользователя").roles.remove("id_роли")
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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