python - 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"}
有谁知道如何为文件设置文件名?
解决方案
根据 API 页面,您不能这样做。您必须为此类 API 方法(document
、photo
、audio
等)使用预定义的名称。
即使可以 - 您也无法使用自定义名称来查找文件,因为 Telegram bot APIfile_id
为此目的使用了自己的标识符。
作为一种解决方法,您可以file_id
在后端存储 -<code>your_custom_document.txt 关系并用于file_id
与 Telegram 服务器通信。
推荐阅读
- html - 在 Angular 中使日期字段具有反应性
- c# - 为什么将返回 IAsyncEnumerable 的异步方法实现为类而不是结构?
- processing - 如何在重复循环模式中使用自定义形状?
- r - R:as.Date 不解析每个月的日期 30 和 31
- php - php会话没有从数据库中获取ID
- json - Powershell:将名称和值数组高性能转换为可解析格式 - 我怎样才能使它更快
- python-3.x - 如何减去长度未知的列表中的相邻项目(python)?
- typescript - 尝试在 typescript 项目中使用 recharts 时出错
- android - 从 Android Lollipop 上的字符串解析日期
- reactjs - React-hook-form:递归注入 props 到嵌套的自定义字段