首页 > 解决方案 > Telegram Bot API - 上传带有文件名的文档

问题描述

如何在 python 中以“文档”的其他文件名发送电报文档?我正在使用 Python3。“doc”是我想作为 txt 文件发送的明文。

url = baseurl + token + '/sendDocument'
dict = {'chat_id':chat_id}
r = requests.post(url, params=dict, files={'document':doc})

接收到的文件名为“document”,没有文件扩展名。当我将文件重写为

files={'document.txt':doc}

电报回复

{"ok":false,"error_code":400,"description":"Bad Request: there is no document in the request"}

有谁知道如何为文件设置文件名?

标签: pythontelegramtelegram-bot

解决方案


根据 API 页面,您不能这样做。您必须为此类 API 方法(documentphotoaudio等)使用预定义的名称。

即使可以 - 您也无法使用自定义名称来查找文件,因为 Telegram bot APIfile_id为此目的使用了自己的标识符。

作为一种解决方法,您可以file_id在后端存储 -<code>your_custom_document.txt 关系并用于file_id与 Telegram 服务器通信。


推荐阅读