← Все вопросы
Как отправить ботом файл (например txt или pdf) пользователю?
4
Бот должен сформировать текстовый файл с результатами и отправить его пользователю как документ, чтобы можно было скачать. Картинку отправлять умею, а вот обычный файл — нет.
1 ответ
8
✓ Принятый ответ — помог автору
Для документов есть answer_document, файл тоже оборачивается в FSInputFile:
from aiogram.types import FSInputFile
@dp.message(Command("report"))
async def report(message: Message):
# сначала создаём файл
with open("result.txt", "w", encoding="utf-8") as f:
f.write("Твой результат: 42 балла")
# потом отправляем
doc = FSInputFile("result.txt")
await message.answer_document(doc, caption="Лови отчёт")
Так пользователь получит файл, который можно сохранить. encoding="utf-8" важен, чтобы русские буквы внутри файла не превратились в кракозябры.
Ваш ответ
, чтобы ответить на вопрос.