如何通过Curl向Telegram发送多个.txt格式文件
解决Telegram Bot发送多文件的问题
你当前使用的sendDocument接口仅支持发送单个文档,重复传递document参数时,Telegram API只会保留第一个文件,这就是第二个文件无法发送的原因。要一次性发送多个文件,需要改用sendMediaGroup接口,该接口支持批量发送媒体文件(包括文档)。
正确的curl命令示例如下:
curl -X POST -F "chat_id=-CHAT_ID" \ -F "media=[ {\"type\":\"document\",\"media\":\"attach://file1\"}, {\"type\":\"document\",\"media\":\"attach://file2\"} ]" \ -F "file1=@/tmp/test/1.txt" \ -F "file2=@/tmp/test/2.txt" \ https://api.telegram.org/API_TOKEN/sendMediaGroup
关键说明:
media参数是一个JSON数组,每个元素对应一个文件,需要指定type为document,并通过attach://{文件名}关联到后续的文件字段。- 后续的
file1、file2是自定义的字段名,要和media数组里的attach://后面的名称一一对应。 - 替换命令中的
-CHAT_ID和API_TOKEN为你实际的聊天ID和机器人令牌。
内容的提问来源于stack exchange,提问作者Zeroday
相关产品推荐
相关产品推荐

