【问题标题】:Discord content must be 2000 or fewer in length in a roles list角色列表中的 Discord 内容长度不得超过 2000
【发布时间】:2020-06-25 07:50:18
【问题描述】:

我知道这个错误已经解决了,但以另一种形式我无法解决我的错误:

    if(msg.content.startsWith(`${prefix}roles`)) {
        const spaces = '                      ';
        const roles = [];
        msg.guild.roles.filter(r => r.name !== '@everyone').forEach(c => {
            let list = roles.push(`${c.name} ${spaces.substring(c.name.length)} ${c.members.size} member`);
            if(c.members.size < 2) roles.push(`${c.name} ${spaces.substring(c.name.length)} ${c.members.size} member`);
            if(c.members.size >= 2) roles.push(`${c.name} ${spaces.substring(c.name.length)} ${c.members.size} members`);
        });
        msg.channel.send(`\`\`\` ${roles.join('\n')} \`\`\``);
    }
});

谢谢。

【问题讨论】:

  • 您必须将角色列表拆分为多条消息才能发布。你可以例如每条消息发送 50 个字符,或者您可以计算您拥有的字符数并在下一个角色需要超过 2000 个字符时将它们拆分。
  • 我知道,但我不知道该怎么做。

标签: node.js discord.js


【解决方案1】:

这可能是因为您为每个角色向数组推送 2 次​​p>

曾经在这里:

let list = roles.push(${c.name} ${spaces.substring(c.name.length)} ${c.members.size} member);

然后再用 if 语句,

将其更改为一次后,它应该会修复它,除非您有 100 个角色,在这种情况下,您只需在 message.channel.send 中添加选项 split: true

https://discord.js.org/#/docs/main/stable/typedef/MessageOptions

https://discord.js.org/#/docs/main/stable/typedef/SplitOptions

if (msg.content.startsWith(`${prefix}roles`)) {
    const spaces = '                      ';
    const roles = [];
    msg.guild.roles.filter(r => r.name !== '@everyone').forEach(role => {
        let string = `${c.name} ${spaces.substring(c.name.length)} ${c.members.size} member`;

        if (role.members.size >= 2) {
            string += "s";
        }

        roles.push(string);
    });
    //all those escape characters look bad, just concat strings
    msg.channel.send("```\n" + roles.join('\n') + "\n```", { split: true });
}

【讨论】:

  • 我能再问你一个问题吗?我怎样才能按角色的顺序来制作列表,同时角色列表显示为服务器设置中的顺序
  • “按角色的顺序”是什么意思?按字母顺序?
  • 不按字母顺序,只是服务器设置角色中的顺序,因为在此命令中角色随机显示
  • 看起来它是从服务器设置中排序的,它只是从下到上,使用.reverse(),它应该按照你想要的方式工作。
猜你喜欢
  • 2020-09-13
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
  • 2011-12-01
相关资源
最近更新 更多