【发布时间】:2021-08-13 07:03:17
【问题描述】:
这是我在尝试发送包含大量格式化超链接的长降价消息时遇到的错误:
context.bot.send_message(chat_id=update.effective_chat.id, text=longmsg, parse_mode="MARKDOWN")
#Output:
telegram.error.BadRequest: Entities_too_long
实际消息几乎没有 500 个字符长,但几乎每个单词都有超链接,这使得字符串 longmsg 非常长(>12k 字符串长度)
现在,我知道对于普通消息,4096 个字符是限制,但是在发送 markdown 消息时,Telegram API 似乎允许 > 4096 个字符串长度。那么降价消息的确切字符串长度限制是多少?我正在使用python-telegram-bot 库。
【问题讨论】:
-
您确定在链接中需要这么多字符吗?似乎对于每个文本字符,您有 24 个链接字符——对于一个 5 个字母的单词,您有一个长度为 116 个符号的链接。如果您绝对必须拥有这么多链接,也许您可以使用 URL 缩短器 - 外部或自托管?
-
没关系,我只会拆分消息并将它们发送给用户。我进行了一些测试,发现 str len 的上限为 9500 个字符。
标签: telegram telegram-bot python-telegram-bot