first step
This commit is contained in:
59
config/__init__.py
Normal file
59
config/__init__.py
Normal file
@@ -0,0 +1,59 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Загрузка переменных окружения
|
||||
load_dotenv()
|
||||
|
||||
|
||||
class Config:
|
||||
"""Класс для управления конфигурацией"""
|
||||
|
||||
def __init__(self):
|
||||
# Telegram
|
||||
self.bot_token = os.getenv("BOT_TOKEN", "")
|
||||
|
||||
# Database
|
||||
self.db_host = os.getenv("DB_HOST", "localhost")
|
||||
self.db_user = os.getenv("DB_USER", "root")
|
||||
self.db_password = os.getenv("DB_PASSWORD", "")
|
||||
self.db_name = os.getenv("DB_NAME", "botyobshik")
|
||||
|
||||
# Support
|
||||
self.support_username = os.getenv("SUPPORT_USERNAME", "@support_username")
|
||||
|
||||
# Payment
|
||||
self.payment_channel_id = os.getenv("PAYMENT_CHANNEL_ID", "")
|
||||
self.payment_thread_id = os.getenv("PAYMENT_THREAD_ID", "")
|
||||
self.payment_ticket_channel_id = os.getenv("PAYMENT_TICKET_CHANNEL_ID", "")
|
||||
self.payment_ticket_thread_id = os.getenv("PAYMENT_TICKET_THREAD_ID", "")
|
||||
self.payment_phone = os.getenv("PAYMENT_PHONE", "+7 904 788 77 35")
|
||||
|
||||
# Admin
|
||||
admin_ids_str = os.getenv("ADMIN_IDS", "")
|
||||
self.admin_ids = [int(x.strip()) for x in admin_ids_str.split(",") if x.strip().isdigit()]
|
||||
|
||||
# Remnawave API
|
||||
self.remwave_api_url = os.getenv("REMWAVE_API_URL", "")
|
||||
self.remwave_api_key = os.getenv("REMWAVE_API_KEY", "")
|
||||
|
||||
@property
|
||||
def db_config(self) -> dict:
|
||||
"""Конфигурация подключения к БД"""
|
||||
return {
|
||||
"host": self.db_host,
|
||||
"user": self.db_user,
|
||||
"password": self.db_password,
|
||||
}
|
||||
|
||||
@property
|
||||
def db_config_with_name(self) -> dict:
|
||||
"""Конфигурация подключения к БД с именем базы"""
|
||||
return {
|
||||
**self.db_config,
|
||||
"database": self.db_name
|
||||
}
|
||||
|
||||
|
||||
# Глобальный экземпляр конфигурации
|
||||
config = Config()
|
||||
Reference in New Issue
Block a user