如何使用 Discord.js 更改机器人的用户名?

How to change username of bot using Discord.js?

我觉得我什么都试过了。我的机器人名称目前是 "TestApp",我想将其更改为其他名称。我是否必须完全删除它,在 https://discordapp.com/developers/ 中创建一个全新的应用程序,为其分配一个正确的名称,然后在其中添加一个机器人?然后显然更改我的 Discord.js 应用程序中的令牌并重新邀请机器人加入频道。

我试过:

让我知道您是否真的可以更改 Discord 机器人的 username/nickname,而无需删除它并重新开始配置。我似乎无法在任何地方找到这个答案。

谁知道呢,你可以向他们的服务器发送一个 PATCH 请求,其中包含你的新信息(你也可以像这样更改头像):

curl -H 'Authorization: Bot TOKEN_GOES_HERE' -H "Content-Type: application/json" -X PATCH -d '{"username": "NEWNAMEHERE"}' https://discordapp.com/api/users/@me

在他们的文档中找到这个 here

有了 Discord 的新仪表板,使用任何语言更改用户名实际上真的很容易!在您的应用程序页面上,如果您转到 "Bot" 选项卡,您可以在那里更改用户头像和用户名。在你点击 "save changes" 之后,它会将新的用户名和头像应用到 Discord。和以前一样,您不会立即注意到变化,但它会发生。

旧答案:

从 Discord.js v11.2 开始,当您使用 Discord.js 创建新的 bot 客户端时,您可以在新客户端上使用 .setUsername 来更改名称,而不是向API。您不会立即注意到变化,但它会发生。要在开发者页面上重命名应用程序,您只需点击应用程序本身。

下面是更改名称的示例登录方法,as stated in the documentation.

const Discord = require('discord.js');
const bot = new Discord.Client();
bot.on('ready', function() {
    bot.user.setUsername("MyNewUsername");
}
bot.login("token");

或者,如果您有一个 eval 命令,您可以简单地 运行 下面的命令。如果您的机器人客户端的名称不是 "bot",请改用它。

bot.user.setUsername("MyNewUsername");
const Discord = require('discord.js')
const client  = new Discord.Client()

client.on('message', (msg) =>{
if(msg.author.bot || msg.channel.type == "dm" || msg.channel.type== 'group')return
if(msg.content.startsWith(prefix) != true)return
if(msg.content.startsWith(`${prefix}nick`)){
      if(msg.author.id != ownerID)
     msg.guild.members.get(client.user.id).setNickname(/*'Nickname goes here'*/)
  }
})