python - 如何为 StringIO 提供文件名并使用 Telegram Bot 发送?
问题描述
我正在尝试使用 Python 使用 Telegram Bot 动态创建和发送一些文件。所以我在 StringIO 中收集数据并使用 Telegram Bot 成功发送它,正如预期的那样,我在另一边得到一个名为“document”的文档,其中包含整个数据......但我想给它一个名字......我知道 Telegram Bot API 不允许手动设置文件名,所以我想在发送之前这样做......但正如我所见,我无法将文件名设置为 StringIO......所以有什么好的选择吗?我还需要使用临时文件吗?
buffer = StringIO()
call_command('dumpdata', 'main', stdout=buffer)
buffer.seek(0)
worker.bot.send_document(worker.administrator_page, buffer, caption='Data of {}'.format(datetime.now().isoformat()), reply_to_message_id=worker.message['message_id'])
我希望在另一端(作为电报用户)得到一个文件名正确的文件。
解决方案
推荐阅读
- html - 我想更改在我的字段中输入的文本的颜色
- ios - 安装 Cocoapods gem 时如何修复 FilePermissions 错误
- bash - 如何在命令中使用“not in” - bash
- python - xmltodict: 解析引发 ValueError('Document 必须只有一个根。') - Python 3
- c# - 按 C# 中数据表中的计数分组
- asp.net-core - Saml2:我从 IDP 收到注销事件,但哪个用户已注销?
- python-3.x - 如何修复 cx_freeze macos 应用程序错误(python3)
- python - 使用 Playwright for Python,如何从下拉列表中选择一个选项?
- linux - in bash, counting the numbers of files that are grouped by score levels
- highcharts - 只应使用前 N 个数据点