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

Telegram机器人输出大文本方法及分发工具咨询

在Telegram机器人中输出大文本的解决方案及分发工具

一、直接插入文本报错的原因及修复

直接插入大文本触发语法错误,通常是两个原因:

  1. 超过消息长度限制:Telegram普通文本消息最大支持4096字符,超出会被API拒绝。
  2. 特殊字符未转义:如果使用Markdown/HTML解析模式,文本中的*、_、<等符号会被当作格式标记,引发语法错误。

修复方法

  • 拆分长文本:把内容按4096字符分割成多条消息发送:
# Python示例:拆分长文本批量发送
def send_long_message(bot, chat_id, content):
    chunk_size = 4096
    for i in range(0, len(content), chunk_size):
        bot.send_message(chat_id=chat_id, text=content[i:i+chunk_size])
  • 转义特殊字符:使用对应解析模式的转义规则处理文本:
# HTML模式转义示例
from html import escape

safe_content = escape(long_text)
bot.send_message(chat_id=chat_id, text=safe_content, parse_mode="HTML")

# MarkdownV2模式转义示例
import re

def escape_markdown_v2(text):
    escape_chars = r'_*[]()~`>#+-=|{}.!'
    return re.sub(f'([{re.escape(escape_chars)}])', r'\\\1', text)

safe_content = escape_markdown_v2(long_text)
bot.send_message(chat_id=chat_id, text=safe_content, parse_mode="MarkdownV2")

二、大文本分发的工具/方式

1. 发送文本文件

将长文本保存为.txt文件发送,无长度限制,用户可下载查看:

# Python示例:发送本地文本文件
with open("full_content.txt", "w", encoding="utf-8") as f:
    f.write(long_text)
bot.send_document(chat_id=chat_id, document=open("full_content.txt", "rb"))

2. 框架自带分页功能

部分Telegram Bot框架支持自动分页处理长文本,无需手动拆分:

  • python-telegram-bot:可通过自定义过滤器或第三方扩展实现自动分页
  • Telegraf(Node.js):使用reply方法结合split参数自动分割内容

3. 内联菜单触发完整内容

通过内联键盘让用户主动触发完整文本的展示,适合超长篇内容:

# Python示例:发送带内联按钮的提示消息
from telegram import InlineKeyboardButton, InlineKeyboardMarkup

keyboard = [[InlineKeyboardButton("查看完整内容", callback_data="load_full_text")]]
reply_markup = InlineKeyboardMarkup(keyboard)
bot.send_message(chat_id=chat_id, text="内容过长,请点击下方按钮查看完整文本", reply_markup=reply_markup)

# 处理按钮回调,发送完整内容
def handle_callback(update, context):
    query = update.callback_query
    query.answer()
    query.edit_message_text(text=long_text)  # 或替换为发送文件

内容的提问来源于stack exchange,提问作者Федор

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:20:38