Главный модуль (main)

Основные функции

Описание

Модуль main.py является точкой входа в приложение и отвечает за:

  • Инициализацию и запуск Telegram бота

  • Настройку обработчиков сообщений и команд

  • Управление жизненным циклом приложения

  • Инициализацию зависимостей (база данных, Questionary)

Архитектура запуска

Классы и функции

main()

Основная функция запуска бота. Выполняет:

  • Создание экземпляра Application

  • Настройку обработчиков инициализации/остановки

  • Создание ConversationHandler с состояниями диалога

  • Запуск режима опроса (polling)

post_init(application)

Функция инициализации после создания приложения:

  • Инициализация пула подключений к базе данных

  • Создание экземпляра Questionary

  • Сохранение зависимостей в bot_data для DI

post_stop(application)

Функция очистки при остановке бота:

  • Закрытие пула подключений к базе данных

  • Логирование завершения работы

Состояния диалога

Бот использует конечный автомат с 4 состояниями:

Пример использования

# Запуск бота
if __name__ == "__main__":
    main()

Смотрите также