Discord.js Функция SetNickname не работает - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь создать бота, который дает роль и задает псевдоним своего пользователя. Моя цель - если кто-нибудь введет «-verify SomeNickname» в текстовом канале, бот установит свой псевдоним как SomeNickname и назначит ему определенную роль.

mem.AddRole работает без ошибок, но функция .setNickname ни с чем не работает.

Ошибка TypeError: mem.setNickname is not a function

Эта дублирующая тема не работала у меня: Изменить ник пользователя с discord.js

Я также попробовал: message.member.setNickname & message.author.setNickname &

client.on('message', message => {
  if (message.content.startsWith('-verify')) {
    message.author.setNickname({
      nick: message.content.replace('-verify ', '')
    });
  }
});

пока.

Мой код:

module.exports = bot => bot.registerCommand('verify', (message, args)        => {  
  message.delete();
  var title = args.join(' ');
  var mem = message.member;
    mem.addRole('560564037583241227').catch(console.error);
    mem.setNickname(title);
}    

Бот дает роль без каких-либо проблем, но не устанавливает ник для пользователя. Дополнительная информация: Бот имеет все разрешения, и я не пытаюсь сменить псевдоним владельца сервера.

Объект message.member выглядит следующим образом:

object printout

1 Ответ

0 голосов
/ 06 мая 2019

Как определено в чате , ваш текущий код использует discord.io, а не discord.js.Эти библиотеки разные, так что это источник ваших различных проблем.

Я бы рекомендовал использовать discord.js с этого момента, но вам, возможно, придется немного реструктурировать свой код.Документацию можно найти здесь для дальнейшего использования.

Если вы хотите продолжить использовать discord.io, вы можете отредактировать свой вопрос для большей ясности, хотя из нашего разговора вы не можетенамерены.

...