Files
RemnaWaveBOT/config/__init__.py
2026-04-05 12:18:33 +03:00

60 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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()