/
almaz8811
/
PythonHelper
Обзор
Документация
Войти
/
almaz8811
/
PythonHelper
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
stepik/aiogram/struct_aiogram_bot/config_data/config.py
48 строк
2 KB
almaz
aiogram. Удаление кнопки меню.
15 июл 2023, 22:33
15 июл 2023, 22:33
53636d6
Код
Авторство
О чём код?
from dataclasses import dataclass from environs import Env @dataclass class DatabaseConfig: database: str # Название базы данных db_host: str # URL-адрес базы данных db_user: str # Username пользователя базы данных db_password: str # Пароль к базе данных @dataclass class TgBot: token: str # Токен для доступа к телеграм-боту admin_ids: list[int] # Список id администраторов бота @dataclass class Config: tg_bot: TgBot db: DatabaseConfig # Создаем экземпляр класса Env # env: Env = Env() # Добавляем в переменные окружения данные, прочитанные из файла .env # env.read_env() # Создаем экземпляр класса Config и наполняем его данными из переменных окружения # config = Config(tg_bot=TgBot(token=env('BOT_TOKEN'), # admin_ids=list(map(int, env.list('ADMIN_IDS')))), # db=DatabaseConfig(database=env('DATABASE'), # db_host=env('DB_HOST'), # db_user=env('DB_USER'), # db_password=env('DB_PASSWORD'))) def load_config(path: str | None = None) -> Config: env: Env = Env() env.read_env(path) return Config(tg_bot=TgBot(token=env('BOT_TOKEN'), admin_ids=list(map(int, env.list('ADMIN_IDS')))), db=DatabaseConfig(database=env('DATABASE'), db_host=env('DB_HOST'), db_user=env('DB_USER'), db_password=env('DB_PASSWORD')))