javascript - 缩短公会角色列表

标签 javascript node.js bots discord discord.js

在我的 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/

相关文章:

javascript - 请求错误: must declare scalar variable in complex MSSQL query

Node.js 推特机器人返回错误 : Bad Twitter streaming request: 410

c# - 如何在 Bot Framework 中获取 channel 名称

javascript - jQuery 参数和参数之间的区别

javascript - 将我网站中的所有链接更改为 https

node.js - nodejs/mocha/nock - 模拟整个 html 响应

python - 如何限制scrapy请求对象?

javascript - Knockout JS : observableArray. splice(0) 不是克隆数组?

javascript - 根据选择值更改表单操作 - 使用 JavaScript

javascript - 如何解决 Access-Control-Allow-Origin 错误