Реализация event'ов в N-ом боте python

Имеется асинхронный телеграм бот.

Задача:

Не знаю как описать, но тезисная форма: Обработка event'ов у юзеров

Пример:

Бот запрашивает токен у пользователя. token_request

То-есть, следующее сообщение от пользователя потенциально будет являться токеном.

Ремарка:

Я не хочу делать что-то на подобии /token *token*. Да, это просто с точки зрения реализации, но не очень красиво.

Вопрос:

Как обработать эту строку с токеном?

Моя реализация:

  • Пришел запрос на регистрацию.

  • Вешаем на пользователя в бд метку, мол, должен отправить токен

  • При следующем сообщении от пользователя провериться его event и уже от него выполняться N-ые операции.

    @dp.message_handler()
    async def on_any(message: Message):
        user: User = get_user(id=message.from_user.id)
    
        if user.event == 'activation':
            ...
    

Мне жутко не нравится эта реализация.
Как минимум из-за размеров.
Я уверен есть более красивые способы решения данной проблемы, но я не очень понимаю как это загуглить.


Ответы (0 шт):