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

Telegram Bot报错Bad Request:发送.ts文件失败求助

解决Telegram Bot发送.ts文件的400错误

你遇到的错误是因为直接将文件二进制数据拼在URL参数里,Telegram API不支持这种上传本地文件的方式。正确的做法是通过multipart/form-data格式提交文件,也就是把文件作为表单字段传递,而不是放在URL的query参数中。

正确代码示例

发送.ts文件作为文档(sendDocument)

from requests import post

# 构造接口URL
url = f"https://api.telegram.org/bot{telegram_token}/sendDocument"
# 聊天ID参数
payload = {"chat_id": chat_id}
# 要发送的文件,直接传递文件对象
files = {"document": open("name.ts", "rb")}

# 发送请求
response = post(url, data=payload, files=files)
# 打印返回结果
print(response.json())

发送.ts文件作为视频(sendVideo)

如果你的.ts文件是标准视频格式,可使用此接口;如果返回格式不支持错误,建议改用sendDocument:

from requests import post

url = f"https://api.telegram.org/bot{telegram_token}/sendVideo"
payload = {"chat_id": chat_id}
files = {"video": open("name.ts", "rb")}

response = post(url, data=payload, files=files)
print(response.json())

关键说明

  • 使用files参数传递打开的文件对象,requests库会自动处理multipart/form-data编码,符合Telegram API的要求。
  • 不要直接读取文件二进制内容后拼接到URL中,这会导致参数格式错误,触发400 Bad Request。
  • 若sendVideo接口提示格式不支持,.ts文件可能不符合Telegram的视频编码规范,此时用sendDocument发送为普通文档即可绕过格式校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 16:43:13