Ответы пользователя по тегу AIOgram
  • Как выйти из вложенного хендлера в aiogram3 python?

    @seratkac
    Не видел раньше вложенных хендлеров.
    Наспех вышел рабочий вариант
    код
    def check(msg):
        return True
    
    
    @disp.message(or_f(F.text == 'Начать игру', F.text == 'Следующий вопрос'))  # основной хендлер
    async def start_game(message: types.Message):
        await message.answer(f'Зимой и летом одним цветом?')
        await message.answer('Варианты ответа: \n a)Ясень  \n b)Ёлка  \n c)Кедр',
                             reply_markup=answer_btn)  # клавиатура с кнопками ответов
    
    
    @disp.callback_query(F.data.in_({"a", "b", "c"}))  # вложенный хендлер
    async def check_answer(callback: types.CallbackQuery):
        result = check(callback.data)
        answer_text = "Верно!" if result else "Неверно!"
        await callback.message.answer(answer_text,
                                      reply_markup=next_question_btn)  # клавиатура с кнопкой "Следующий вопрос"

    spoiler
    65cf2adae58d9288317908.png
    Ответ написан
    2 комментария
  • Отправка сообщения aiogram в произвольной функции без handler использовав существующий bot?

    @seratkac
    Bot имеет встроенный метод send_message
    main.py
    from aiogram import Bot
    from os import getenv
    import asyncio
    
    bot = Bot(getenv('TOKEN'))
    
    chat_id = 123456789
    
    async def main():
        await bot.send_message(chat_id=chat_id, text="your message")
    
    if __name__ == '__main__':
        asyncio.run(main())


    Документация
    Ответ написан
    Комментировать