如何使用Discord.js更改bot的用户名?

Mor*_*der 2 discord discord.js

我觉得我已经尝试了一切.我的机器人名称目前是"TestApp",我想将其更改为其他内容.我是否必须完全删除它,在https://discordapp.com/developers/中创建一个全新的应用程序,为其指定一个正确的名称,然后在其中添加一个机器人?然后显然更改我的Discord.js应用程序内的令牌,并重新邀请机器人到通道.

我试过了:

  • https://discordapp.com/developers/上更改应用程序名称
  • msg.guild.members.get(bot.user.id).setNickname("NEWNAMEHERE")
  • Discord.Client.setUsername("NEWNAMEHERE")

如果您实际上可以更改Discord机器人的用户名/昵称,请不要删除它并重新开始配置.我似乎无法在任何地方找到这个答案.

Mor*_*der 5

谁知道呢,您可以将包含新信息的PATCH请求发送到他们的服务器(您也可以像这样更改头像):

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

他们的文档中找到这个位置


Fir*_*847 5

使用Discord的新仪表板,使用任何语言更改用户名实际上非常容易!在您的应用程序页面上,如果您转到"Bot"选项卡,则可以更改用户头像以及用户名.点击"保存更改"后,它会将新用户名和头像应用于Discord.像以前一样,你不会立即注意到这种变化,但它会发生.

老答案:

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

以下是更改名称的示例登录方法,如文档中所述.

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

或者,如果您有eval命令,则只需运行以下命令即可.如果您的bot客户端被命名为"bot"之外的其他东西,请使用它.

bot.user.setUsername("MyNewUsername");
Run Code Online (Sandbox Code Playgroud)