【问题标题】:Discord.js How to make a change nickname commandDiscord.js 如何进行更改昵称命令
【发布时间】:2021-05-11 01:13:30
【问题描述】:

我有一个 discord.js 机器人,它已经有了一些功能。但我想添加一个命令来更改用户的昵称。

if (command === "changenick") {
    

}

这就是我添加新命令的方式。有人可以帮我设计这个功能吗? 另外,我是 discord.js 和 node.js 的新手,我需要一些关于做什么的解释。

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    首先,您必须确定哪个成员的昵称将被更改。我将在这个例子中使用提及。

    我们抓取提到的成员的集合并抓取第一个元素。

    const memberToEdit = message.mentions.members.first();
    

    接下来我们需要知道新昵称是什么。在本例中,我将使用String#replace() 删除[prefix]changenick,只留下将成为新昵称的文本。这是假设您使用设置[prefix][command name]

    编辑:我忘了说明提及是消息内容的一部分,使用String#split()Array#join() 删除提及。 .pop() 将返回新昵称,.trim() 将删除不必要的空格。

    const newNickname = message.content.replace(`${prefix}changenick`, '').split(' ').pop().trim();
    

    接下来,我们在提到的成员对象上调用setNickname(),传入newNickname

    memberToEdit.setNickname(newNickname);
    

    您的最终代码将如下所示。

    if (command === "changenick") {
       const memberToEdit = message.mentions.members.first();
       const newNickname = message.content.replace(`${prefix}changenick`, '').split(' ').pop().trim();
       memberToEdit.setNickname(newNickname);
    }
    

    【讨论】:

    • 所以我运行了命令 st!changenick @pootis haha​​,结果是“@haha”
    • 忘记提了,它已经编辑了我的答案。
    【解决方案2】:

    如果你的机器人收到的消息叫rMessage,你可以通过rMessage.member获取作者的GuildMember

    GuildMember 有一个方法setNickname(nick)。所以你可以使用rMessage.member.setNickname(nick, [reason]),其中nick 是他们输入的文本,reason 是可选的(用于将其放入服务器的审核日志中)。

    【讨论】:

    • *setNickname,不是SetNickname
    • 啊,是的,我的错。它是setNickname
    • 好吧,它使机器人崩溃了。就像这样? message.member.setNickname(昵称);
    • @stationaryStation nick 是一个变量。如果您没有定义nick,它将是undefined,因此无法更改昵称。您可以通过在行前声明nick 来解决此问题,例如let nick = "newNameGoesHere";
    【解决方案3】:

    已经有一个命令可以在服务器上更改您的昵称;只需使用 /nick the name you want

    【讨论】:

    • 我觉得OP想改别人的昵称。
    • 嗯,这很快。在我的服务器和我的朋友服务器上,斜线命令被禁用,我们没有权限。我想更改用户的昵称
    • DJS 的目的是开发代码,使用内置斜杠命令是无关紧要的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-03-13
    • 2018-12-09
    • 2021-02-16
    • 2017-05-05
    • 2017-08-04
    • 2021-03-29
    • 2021-12-27
    • 2021-05-20
    相关资源
    最近更新 更多