Модуль конфигурации (config) ============================ .. automodule:: mylife3000.config :members: :undoc-members: :show-inheritance: Обзор ----- Модуль ``config.py`` отвечает за: * Загрузку переменных окружения из .env файла * Определение констант приложения * Хранение текстов и разметки клавиатур * Управление состояниями диалога Переменные окружения -------------------- +----------------+-----------------------------------+--------------------------------------+ | Переменная | Описание | Обязательность | +================+===================================+======================================+ | ``BOT_TOKEN`` | Токен Telegram бота | Обязательно | +----------------+-----------------------------------+--------------------------------------+ | ``DATABASE_URL``| URL подключения к PostgreSQL | Обязательно | +----------------+-----------------------------------+--------------------------------------+ Константы состояний ------------------- .. py:data:: MAIN_MENU Состояние главного меню (значение: 0) .. py:data:: SECTION_MENU Состояние меню раздела (значение: 1) .. py:data:: THEME Состояние выбора темы (значение: 2) .. py:data:: RESULT Состояние результата (значение: 3) Разметки клавиатур ------------------ .. py:data:: MAIN_MENU_KEYBOARD Клавиатура главного меню: .. code-block:: text [ ["Самопознание: Кто Я?"], ["Вектор: Куда я движусь?", "Вызовы: Что мне мешает?"], ["Окружение: Мои отношения?", "Интеграция: Как я живу?"], ["Капсула Времени: История для моих детей"], ["О проекте"] ] .. py:data:: SECTION_MENU_KEYBOARD Клавиатура меню раздела: .. code-block:: text [ ["Случайный вопрос"], ["Выбрать тему"], ["Главное меню"] ] .. py:data:: RESULT_MENU_KEYBOARD Клавиатура после показа вопроса: .. code-block:: text [ ["Еще вопрос"], ["Выбрать другую тему"], ["Главное меню", "Завершить"] ] Методы ------ .. py:function:: load_dotenv() Загружает переменные окружения из .env файла .. note:: При отсутствии обязательных переменных окружения (BOT_TOKEN, DATABASE_URL) выбрасывается исключение ``ValueError`` Пример файла .env ----------------- .. code-block:: bash BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz DATABASE_URL=postgresql://user:password@localhost:5432/mylife3000 Исключения ---------- .. autoexception:: ValueError :noindex: Выбрасывается при отсутствии обязательных переменных окружения Смотрите также -------------- * :doc:`handlers` - Использование состояний в обработчиках * :doc:`../installation` - Инструкция по настройке окружения