You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分超长Telegram消息并按顺序发送?

解决Telegram消息过长拆分问题(按每100条拆分)

你可以修改函数,让它返回一个消息数组,每个消息包含最多100条条目,同时保留头脚信息并添加分页标识,这样机器人就能按顺序发送拆分后的消息了。

修改后的代码如下:

function SearchbyProjectName(Prjct){
  var projectNON = GetAllProjectNON(); 
  var project = GetAllProject();
  var num = 1;
  const allLocation = [];

  var baseHeader = 
  'ALL LOCATION\nProject: ' + Prjct + '\n🗓 : Tuesday, 24 Jan 2023 15:10:34\n'; // 替换为你实际的header内容

  var footer =
  'xxxfooterxxx';

  // 收集所有条目(保留原有逻辑)
  for (var row=0; row<projectNON.length; row++) {
    if(projectNON[row][3]==Prjct){ 
      var resiNON = num++ + '. ) ' + '/d_' + projectNON[row][6] + '\n\n';
      allLocation.push(resiNON);
    }
  }
  for (var row=0; row<project.length; row++) {
    if(project[row][3]==Prjct){ 
      var resi = num++ + '. ) ' + '/d_' + project[row][6] + '\n\n';
      allLocation.push(resi);
    }
  }

  // 拆分消息:每100条为一页
  const pageSize = 100;
  const messages = [];
  const totalPages = Math.ceil(allLocation.length / pageSize);

  for (let page = 0; page < totalPages; page++) {
    // 截取当前页的条目
    const startIndex = page * pageSize;
    const endIndex = startIndex + pageSize;
    const currentItems = allLocation.slice(startIndex, endIndex);
    
    // 生成带分页标识的当前页header
    const pageHeader = baseHeader + `(第${page+1}/${totalPages}页)\n`;
    
    // 拼接当前页完整内容
    const pageContent = pageHeader + currentItems.join('') + footer;
    
    messages.push(pageContent);
  }

  return messages ;
}

代码说明:

  • 将原固定header改为baseHeader,动态添加分页标识,让用户明确当前内容是第几部分。
  • 用pageSize变量设置每页条目数(这里设为100,可按需调整)。
  • 通过slice方法拆分条目数组,循环生成每条消息的完整内容。
  • 最终返回消息数组,机器人只需遍历数组依次发送即可。

使用方式:

调用函数后得到字符串数组,遍历发送:

const messages = SearchbyProjectName("PTT2");
// 遍历发送每条消息
messages.forEach(msg => {
  // 调用你的Telegram消息发送API,示例:bot.sendMessage(chatId, msg);
});

这样既规避了Telegram的字符限制,又能保证内容按顺序发送、条目编号连续。

内容的提问来源于stack exchange,提问作者Angely Fransiska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:50:11