“嵌入的描述不得超过2048个字符”

时间:2019-04-23 20:29:33

标签: node.js discord.js

基本上,如果用户在说明嵌入中输入的字符超过2048个,则嵌入会被拆分为2个嵌入,并将其发送到行会。我不知道如何解决的部分是将嵌入内容拆分为2条消息。因此,首先嵌入直到结尾,直到2048,然后它将发送其他嵌入的消息。

您可以在下面的代码中看到。  如果此$ {test}包含2048以上 然后将其分成2个嵌入

message.author.send(new Discord.RichEmbed().setColor("00FFFF").setDescription( **Here is what you typed:**  \n \n **Test:** \n ${test}))

1 个答案:

答案 0 :(得分:0)

要分割字符串,可以使用here中提供的方法:如果将字符串与此RegExp {"code":400,"status":"BadRequest","error":"InvalidParams","errorCode":1000,"errorMessage":"Invalid input parameters","errorDetails":{"TitleId":["The TitleId field is required."],"LoginWithCustomIDRequest":["One of the following properties must be defined: CustomId, EncryptedRequest"]}} 匹配,则会得到一个包含所有所需子字符串的Array。您可以使用该数组构建每个嵌入。

以下是您可以用来执行此操作的功能:

/.{1,2048}/g

要实现它,只需调用它即可提供文本和频道。如果您这样:

async function sendEmbeds(text, channel) {
  const arr = text.match(/.{1,2048}/g); // Build the array

  for (let chunk of arr) { // Loop through every element
    let embed = new Discord.RichEmbed()
      .setColor("00FFFF")
      .setDescription(chunk);

    await channel.send({ embed }); // Wait for the embed to be sent
  }
}