在我的 serverinfo 命令中,机器人列出了公会中的所有角色。但是,当公会拥有大量角色时,它会给我错误 embed.fields[3].value: Must be 1024 or less in length.
我不太确定机器人如何将仅发送列表中的前六个角色,然后其余为“...[number] 个角色”。 v12.2
${message.guild.roles.cache.map(r => `${r}`).join(" ").replace("@everyone", " ")}
最佳答案
很简单,你可以使用.array()
方法来获取包含所有角色的数组,并且只需要 slice该数组。
“[number] 个更多角色”只需删除 6 个公会角色大小就可以做到这一点
这是一个例子:
message.guild.roles.cache.array().slice(0,6).map(role => `${role}`).join(" ").replace("@everyone", " ") + (message.guild.roles.cache.size - 6 > 0 ? " and more " + (message.guild.roles.cache.size - 6) + " roles." : "")
对我来说效果很好。
关于javascript - 缩短公会角色列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61993273/