Как я могу дать имя файла для StringIO и отправить его с Telegram Bot? - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь динамически создавать и отправлять некоторые файлы с Telegram Bot, используя Python. Итак, я собираю данные в 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'])

Я ожидаю получить файл с правильным именем файла на другом конце (как пользователь Telegram).

...