@se_aesthete

Как реализовать дерево сценариев aiogram?

Пишу несложного бота на aiogram.
У меня есть две онлайн кнопки, после нажатия на любую из них бот запрашивает изображение и делает с ним разные действия. Как это реализовать? Вот код:
@dp.callback_query_handler(lambda c: c.data == 'button1')
async def process_callback_button1(callback_query: types.CallbackQuery):
    await bot.answer_callback_query(callback_query.id)
    await bot.delete_message(chat_id=callback_query.from_user.id, message_id=callback_query.message.message_id)
    await bot.send_message(callback_query.from_user.id, 'Отправьте любое изображение')


@dp.callback_query_handler(lambda c: c.data == 'button2')
async def process_callback_button1(callback_query: types.CallbackQuery):
    await bot.answer_callback_query(callback_query.id)
    await bot.delete_message(chat_id=callback_query.from_user.id, message_id=callback_query.message.message_id)
    await bot.send_message(callback_query.from_user.id, 'Отправьте фото с животным')


@dp.message_handler(content_types=['photo'])
async def get_photo(message: types.Message):
    if types.CallbackQuery.data == 'button1':
        await message.photo[-1].download('test.jpg')
        path = os.getcwd()
        await bot.send_photo(message.chat.id, types.InputFile(path + '/t.jpg'))
        os.remove(path=path + '/t.jpg')
    if types.CallbackQuery.data == 'button2':
        await message.photo[-1].download('test.jpg')
        path = os.getcwd()
        x = load_image()
        await message.answer(f'Мне кажется это: {predict(x)}')
        os.remove(path=path + '/test.jpg')
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы