使用命令更改机器人的昵称

时间:2019-04-15 23:38:02

标签: javascript node.js discord discord.js

我想使用!Changenick nick之类的命令来更改我的机器人的名称-“尼克”是指新机器人的名称。你们能帮我吗?我只希望机器人在有人写!Changenick时更改用户名:

!changenick Freshname

机器人将自己的名字更改为Freshname

1 个答案:

答案 0 :(得分:0)

如果要更改用户昵称,则需要一个GuildMember obj。您可以通过在行会的成员道具中搜索机器人ID来将其应用于机器人。下一行将允许您在给定Message obj的情况下更改漫游器的用户名。

message.guild.me.setNickname('NICKNAME'); 根据@slothiful的建议进行更新

如果您需要更多有关如何创建整个命令的帮助,请参考https://discordjs.guide/https://discord.js.org/#/docs/

更新1 :通过您提供的示例,我很难理解您想要的实现。

假设您想要这样的命令:!changenick <@user> <nickname>

在这种情况下,我将引用this。它说明了如何解析提及。关于更改昵称的实际问题,您可以更改任何用户的昵称  (您将通过提及获得该用户),方法是使用message.guild.members.find(user => user.id === mentionUser.id).setNickname('NICKNAME')

更新2:现在,我了解您的意思。我很抱歉。您无需重新启动漫游器即可更新昵称。我已经测试过了。

下面的代码每10秒更改一次机器人的昵称。

const Discord = require('discord.js');
const Client = new Discord.Client();

Client.on('ready', () => {
    let value = 0;

    setInterval(() => {
        Client.guilds.find(guild => guild.id === 'GUILD_ID').me.setNickname(value++);
    }, 10000);
});

Client.login('TOKEN');

重要的一点是 Client.guilds.find(guild => guild.id === 'GUILD_ID').me.setNickname('NICKNAME');

编辑:如果此操作回答了您的问题,请将答案标记为已接受。