【问题标题】:Show nickname instead of username for a ?members command (discord.js)为 ?members 命令显示昵称而不是用户名 (discord.js)
【发布时间】:2020-05-27 13:10:19
【问题描述】:

这是我的代码

if (message.content.startsWith("?members")) {
        let roleName = message.content.split(" ").slice(1).join(" ");

        //Filtering the guild members only keeping those with the role
        //Then mapping the filtered array to their usernames
        let membersWithRole = message.guild.members.filter(member => {
            return member.roles.find(role => role.name.includes(roleName));
        }).map(member => {
            return member.user.username;
        })

        const embed = new Discord.RichEmbed({
            "title": `Members in ${roleName}`,
            "description": membersWithRole.join("\n"),
            "color": 0xFFFF

        });

        return message.channel.send(embed);



    }

我正在尝试使嵌入在服务器中显示人们的昵称,而不是他们不和谐的用户名。我试过 member.user.nickname,但它不起作用。任何帮助将不胜感激。

提前致谢!

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    您可以使用displayName。如果成员在服务器上没有特殊昵称,member.nickname 将返回 undefined

    最好先获取角色,然后映射角色成员。

    if (message.content.startsWith("?members")) {
            let roleName = message.content.split(" ").slice(1).join(" ");
    
            //getRole
            let targetRole = message.guild.roles.find(role => role.name.includes(roleName))
            if(!targetRole) return message.channel.send('No role fined')
            let membersWithRole = targetRole.members.map(member => member.displayName) // Embed has max length so you need slice this array to pages if membersWithRole.join("\n").length > 2048
    
            const embed = new Discord.RichEmbed({
                "title": `Members in ${roleName}`,
                "description": membersWithRole.join("\n"),
                "color": 0xFFFF
    
            });
    
            return message.channel.send(embed);
        }
    

    【讨论】:

    • 嵌入描述限制为 2048 个字符,而不是您在评论中提到的 4000 个字符。详情请见here
    猜你喜欢
    • 2020-09-28
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2021-02-16
    • 2021-07-30
    • 2017-08-04
    • 2021-07-28
    相关资源
    最近更新 更多