【问题标题】:Discord.js: using Nicknames instead of UsernamesDiscord.js:使用昵称而不是用户名
【发布时间】:2020-09-28 13:55:12
【问题描述】:

我已经使用那里的初学者指南开始为我们的公会不和谐创建一个简单的机器人。但是,看在我的份上,我找不到让机器人引用服务器特定昵称而不是用户名的方法。

代码看起来有点像这样:

bot.on('message', function (user, userID, channelID, message, evt) {
    if (message.substring(0, 1) == '!') {
        var args = message.substring(1).split(' ');
        var cmd = args[0];

        args = args.splice(1);
        switch(cmd) {
            case 'ping':
                bot.sendMessage({
                    to: channelID,
                    message: 'Pong! was returned to user with nickname ' + ????????????.nickname
                });
            break;
         }
     }
}

有人知道检索昵称而不是用户名的命令/变量是什么吗?

提前非常感谢你:)

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    我不太明白你的问题,但如果我理解正确的话。您需要在回复消息中获取 member.nickname。

    在第一个 bot.on('message' => 事件时仅返回 message 对象。

    对于同一频道的回复,您可以使用message.channel.send('text') 如果您需要获取会员昵称,您可以使用member.displayName 它将返回会员服务器昵称,如果会员没有昵称则返回会员用户名+标签

    bot.on('message', message => {
        if (message.substring(0, 1) == '!') {
            var args = message.substring(1).split(' ');
            var cmd = args[0];
            args = args.splice(1);
            switch(cmd) {
                case 'ping':
                    message.channel.send(`Pong! was returned to user with nickname  ${message.member.displayName}`)
                    break;
            }
        }
    })
    

    【讨论】:

    • 非常感谢您的回复!非常感激。它现在不响应 !ping 命令。您认为在不更改函数调用的情况下可以吗? (或任何术语)所以“bot.on('message',function(user,userID,channelID,message,evt)”保持不变?在进一步的开发中,我已经开始使用这些用户,用户ID等输入:)
    • 看起来很奇怪,尝试阅读guide获取正确的句柄命令
    猜你喜欢
    • 2020-05-27
    • 2017-05-05
    • 2020-10-15
    • 2021-02-16
    • 2021-07-30
    • 2018-08-21
    • 2018-04-18
    • 2021-06-27
    • 2021-03-20
    相关资源
    最近更新 更多