首页 > 解决方案 > 如何为 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'])

我希望在另一端(作为电报用户)得到一个文件名正确的文件。

标签: pythonpython-3.xtelegram-botfile-management

解决方案


推荐阅读