@RinoStop

Как получать от пользователя файл, а потом хранить его в памяти (aiogram)?

Я получаю от пользователя текст и хочу получать от пользователя pdf файл, а затем хранить его в памяти( в дальнейшем выводить пользователю по команде), поискав в документации, что то не смог найти данного решения и обращяюсь сюда. Заранее скажу, что я новичек в библиотеке и в целом и python.
Так же, хендлеры зарагестрированны в основном файле и закоменчены
Пожалуйста, подскажите каким образом это можно реализовать в коде ниже( заранее спасибо )


from aiogram import types
from aiogram import Bot
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.dispatcher import Dispatcher
import os
from aiogram.contrib.fsm_storage.memory import MemoryStorage




class FSMAdmin(StatesGroup):
    date = State()
    pfd = State()

# @dp.message_handler(commands='Загрузить', state=None)
async def cm(message : types.Message):
    await FSMAdmin.date.set()
    await message.reply('Введите дату')

# @dp.message_handler(state=FSMAdmin.date)
async def load_date(message : types.Message, state:FSMContext):
    async with state.proxy() as data:
        data['date'] = message.text
    await FSMAdmin.next()
    await message.reply('Загрузите PDF файл')

# @dp.message_handler(content_types=['document'],state=FSMAdmin.pfd)
async def load_pdf(message : types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['pdf'] = message.document[0].file_id

    async with state.proxy() as data:
        await message.reply(data)

    await state.finish()


def register_handlers_client(dp : Dispatcher):
    dp.register_message_handler(cm, commands=['Загрузить'], State=None)
    dp.register_message_handler(load_date, state=FSMAdmin.date)
    dp.register_message_handler(load_pdf, content_types=['pdf'], state=FSMAdmin.pfd)
  • Вопрос задан
  • 866 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Разбирайся, что нужно библиотеке для отправки файла. Если достаточно файлового объекта - BytesIO в помощь. Это как-бы файловый объект, чьё содержимое хранится в ОЗУ.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы