@MuffinLover

Почему вложенный fsm реагирует на все? Библиотека python-telegram-bot?

def main() -> None:
    load_dotenv()
    print('launch the bot')
    application = Application.builder().token(getenv('BOT_TOKEN')).build()

    registration_conv_handler = ConversationHandler(
        entry_points=[MessageHandler(filters.TEXT & ~(filters.COMMAND | filters.Regex('^Прекратить ввод городов$')),
                                     add_city)],
        states={
            CITY_REGISTRATION: [
                MessageHandler(filters.TEXT & ~(filters.COMMAND | filters.Regex('^Прекратить ввод городов$')),
                               add_city),
                CommandHandler('skip', stop_adding_cities),
                MessageHandler(filters.TEXT & filters.Regex('^Прекратить ввод городов$'),
                               stop_adding_cities)],
            CITY_REGISTRATION_CALLBACKS: [
                CallbackQueryHandler(apply_city_variant, pattern=f'^{APPLY_ADD_VARIANT}$'),
                CallbackQueryHandler(deny_city_variant, pattern=f'^{DENY_ADD_VARIANT}$'),
            ],
            LINK_REGISTRATION: [
                MessageHandler(filters.TEXT & ~(filters.COMMAND | filters.Regex('^Прекратить ввод ссылок')),
                               add_link),
                CommandHandler('skip', stop_adding_links),
                MessageHandler(filters.TEXT & filters.Regex('^Прекратить ввод ссылок'),
                               stop_adding_links)
            ]
        },
        fallbacks=[CommandHandler("stop", stop_nested)],
        map_to_parent={
            END: IDLE,
            STOPPING: END
        }
    )

    conv_handler = ConversationHandler(
        entry_points=[CommandHandler("start", start)],
        states={
            REGISTRATION: [registration_conv_handler,

                           ],
            IDLE: [CommandHandler('secret', show_secret)],

        },
        fallbacks=[CommandHandler("stop", stop_nested),
                   END],
    )

    application.add_handler(conv_handler)

    print('successful launch')
    application.run_polling(allowed_updates=Update.ALL_TYPES)

делаю вложенный fsm в телеграм боте, почему-то во вложенности он начинает реагировать на все сообщения
где мой косяк?(
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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