Discord.js 设置昵称功能无效

Discord.js SetNickname Function Is Not Working

我正在尝试制作一个赋予角色并为其用户设置昵称的机器人。 我的目标是如果有人在文本频道上输入“-verify SomeNickname”,机器人会将他们的昵称设置为 SomeNickname 并赋予他们特定的角色。

mem.AddRole 运行正常,没有任何错误,但 .setNickname 函数无法正常运行。

错误是TypeError: mem.setNickname is not a function

这个重复的线程对我不起作用:Change user nickname with 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);
}    

机器人可以毫无问题地赋予角色,但它没有为用户设置昵称。 附加信息:Bot 拥有所有权限,我不会尝试更改服务器所有者的昵称。

message.member 对象如下所示:

根据 chat 确定,您当前的代码使用的是 discord.io,而不是 discord.js。这些库是不同的,所以这是你各种问题的根源。

我建议从现在开始使用 discord.js,但您可能需要稍微调整一下代码结构。可以找到文档 here 以供将来参考。

如果您想继续使用 discord.io,您可以编辑您的问题以使其更清楚,尽管从我们的谈话中您不打算这样做。