Refine bot configuration menu structure

This commit is contained in:
Egor
2025-09-30 03:31:37 +03:00
parent 23dcb9699c
commit 0cd7d45338
2 changed files with 94 additions and 99 deletions

View File

@@ -26,75 +26,69 @@ SETTINGS_PAGE_SIZE = 8
CATEGORY_GROUP_DEFINITIONS: Tuple[Tuple[str, str, Tuple[str, ...]], ...] = (
(
"telegram_bot",
"🤖 Telegram бот",
("SUPPORT", "ADMIN_NOTIFICATIONS", "ADMIN_REPORTS", "CHANNEL"),
"core",
"⚙️ Основные настройки",
("SUPPORT", "LOCALIZATION", "MAINTENANCE"),
),
(
"channels_notifications",
"📢 Каналы и уведомления",
("CHANNEL", "ADMIN_NOTIFICATIONS", "ADMIN_REPORTS"),
),
(
"subscriptions",
"💎 Подписки и тарифы",
("TRIAL", "PAID_SUBSCRIPTION", "PERIODS", "SUBSCRIPTION_PRICES", "TRAFFIC", "TRAFFIC_PACKAGES", "DISCOUNTS"),
),
(
"payments",
"💳 Платежные системы",
("PAYMENT", "TELEGRAM", "CRYPTOBOT", "YOOKASSA", "TRIBUTE", "MULENPAY", "PAL24"),
),
(
"remnawave",
"🔗 RemnaWave API",
("REMNAWAVE",),
),
(
"referral",
"🤝 Реферальная система",
("REFERRAL",),
),
(
"autopay",
"🔄 Автопродление",
("AUTOPAY",),
),
(
"interface",
"🎨 Интерфейс и UX",
("INTERFACE_BRANDING", "INTERFACE_SUBSCRIPTION", "CONNECT_BUTTON", "HAPP", "SKIP", "ADDITIONAL"),
),
(
"database",
"🗄️ База данных",
("DATABASE", "POSTGRES", "SQLITE", "REDIS"),
),
(
"remnawave",
"🌊 Remnawave API",
("REMNAWAVE",),
),
(
"subscriptions",
"🪙 Подписки и тарифы",
(
"TRIAL",
"PAID_SUBSCRIPTION",
"SUBSCRIPTIONS_GLOBAL",
"TRAFFIC",
"PERIODS",
"SUBSCRIPTION_PRICES",
"TRAFFIC_PACKAGES",
"DISCOUNTS",
"REFERRAL",
"AUTOPAY",
),
),
(
"payments",
"💳 Платежные системы",
("TELEGRAM", "TRIBUTE", "YOOKASSA", "CRYPTOBOT", "MULENPAY", "PAL24", "PAYMENT"),
),
(
"interface",
"🎨 Интерфейс и UX",
("INTERFACE_BRANDING", "INTERFACE_SUBSCRIPTION", "CONNECT_BUTTON", "HAPP", "SKIP"),
),
(
"monitoring",
"📣 Мониторинг и уведомления",
("MONITORING", "NOTIFICATIONS"),
"📊 Мониторинг",
("MONITORING", "NOTIFICATIONS", "SERVER"),
),
(
"operations",
"🛠️ Статусы и обслуживание",
("SERVER", "MAINTENANCE"),
"backup",
"💾 Система бэкапов",
("BACKUP",),
),
(
"localization",
"🈯 Локализация",
("LOCALIZATION",),
"updates",
"🔄 Обновления",
("VERSION",),
),
(
"extras",
"🧩 Дополнительные настройки",
("ADDITIONAL",),
),
(
"reliability",
"💾 Бекапы и обновления",
("BACKUP", "VERSION"),
),
(
"technical",
"🧰 Технические",
("LOG", "WEBHOOK", "DEBUG"),
"development",
"🔧 Разработка",
("LOG", "WEBHOOK", "WEB_API", "DEBUG"),
),
)

View File

@@ -60,48 +60,48 @@ class BotConfigurationService:
EXCLUDED_KEYS: set[str] = {"BOT_TOKEN", "ADMIN_IDS"}
CATEGORY_TITLES: Dict[str, str] = {
"SUPPORT": "Поддержка",
"ADMIN_NOTIFICATIONS": "Уведомления администраторов",
"ADMIN_REPORTS": "Автоотчеты",
"CHANNEL": "Обязательная подписка на канал",
"DATABASE": "База данных",
"POSTGRES": "PostgreSQL",
"SQLITE": "SQLite",
"REDIS": "Redis",
"REMNAWAVE": "Remnawave API",
"TRIAL": "Триал подписка",
"PAID_SUBSCRIPTION": "Платная подписка",
"SUBSCRIPTIONS_GLOBAL": "Глобальные параметры подписок",
"TRAFFIC": "Настройки трафика",
"PERIODS": "Периоды подписки",
"SUBSCRIPTION_PRICES": "Цены подписки",
"TRAFFIC_PACKAGES": "Пакеты трафика",
"DISCOUNTS": "Скидки промогрупп",
"REFERRAL": "Реферальная система",
"AUTOPAY": "Автопродление",
"TELEGRAM": "Telegram Stars",
"TRIBUTE": "Tribute",
"YOOKASSA": "YooKassa",
"CRYPTOBOT": "CryptoBot",
"MULENPAY": "MulenPay",
"PAL24": "PayPalych / Pal24",
"PAYMENT": "Описания платежей",
"INTERFACE_BRANDING": "Брендинг и логотип",
"INTERFACE_SUBSCRIPTION": "Блок подписки",
"CONNECT_BUTTON": "Кнопка «Подключиться»",
"HAPP": "Happ CryptoLink",
"SKIP": "Пропуски onboarding",
"MONITORING": "Мониторинг",
"NOTIFICATIONS": "Уведомления",
"SERVER": "Статус серверов",
"MAINTENANCE": "Технические работы",
"LOCALIZATION": "Локализация",
"ADDITIONAL": "Дополнительные настройки",
"BACKUP": "Бекапы",
"VERSION": "Проверка обновлений",
"LOG": "Логирование",
"WEBHOOK": "Вебхуки",
"DEBUG": "Режим разработки",
"SUPPORT": "💬 Ссылка на поддержку",
"LOCALIZATION": "🌍 Языковые настройки",
"MAINTENANCE": "🛠️ Режим обслуживания",
"CHANNEL": "📣 Обязательная подписка",
"ADMIN_NOTIFICATIONS": "🔔 Уведомления админам",
"ADMIN_REPORTS": "📊 Автоматические отчеты",
"TRIAL": "🎁 Триальная подписка",
"PAID_SUBSCRIPTION": "💰 Платные подписки",
"PERIODS": "📅 Периоды подписки",
"SUBSCRIPTION_PRICES": "💵 Цены за периоды",
"TRAFFIC": "🚦 Настройки трафика",
"TRAFFIC_PACKAGES": "📦 Пакеты трафика",
"DISCOUNTS": "🎯 Промо и скидки",
"PAYMENT": "⚙️ Общие настройки платежей",
"TELEGRAM": "⭐ Telegram Stars",
"CRYPTOBOT": "💎 CryptoBot",
"YOOKASSA": "💸 YooKassa",
"TRIBUTE": "🎁 Tribute",
"MULENPAY": "💰 MulenPay",
"PAL24": "🏦 Pal24/PayPalych",
"REMNAWAVE": "🔗 RemnaWave API",
"REFERRAL": "🤝 Реферальная система",
"AUTOPAY": "🔄 Автопродление",
"INTERFACE_BRANDING": "🖼️ Визуальные настройки",
"INTERFACE_SUBSCRIPTION": "🔗 Скрыть ссылку подписки",
"CONNECT_BUTTON": "🚀 Кнопка «Подключиться»",
"HAPP": "🅷 Happ настройки",
"SKIP": "⚡ Быстрый старт",
"ADDITIONAL": "📱 Приложения и DeepLinks",
"DATABASE": "🗄️ Режим БД",
"POSTGRES": "🐘 PostgreSQL",
"SQLITE": "💾 SQLite",
"REDIS": "🧠 Redis",
"MONITORING": "📈 Общий мониторинг",
"NOTIFICATIONS": "🔔 Уведомления пользователям",
"SERVER": "🖥️ Статус серверов",
"BACKUP": "💾 Система бэкапов",
"VERSION": "🔄 Обновления",
"LOG": "📝 Логирование",
"WEBHOOK": "🌐 Webhook",
"WEB_API": "🌐 Web API",
"DEBUG": "🔧 Режим разработки",
}
CATEGORY_KEY_OVERRIDES: Dict[str, str] = {
@@ -112,8 +112,8 @@ class BotConfigurationService:
"DEFAULT_TRAFFIC_LIMIT_GB": "PAID_SUBSCRIPTION",
"MAX_DEVICES_LIMIT": "PAID_SUBSCRIPTION",
"PRICE_PER_DEVICE": "PAID_SUBSCRIPTION",
"DEFAULT_TRAFFIC_RESET_STRATEGY": "SUBSCRIPTIONS_GLOBAL",
"RESET_TRAFFIC_ON_PAYMENT": "SUBSCRIPTIONS_GLOBAL",
"DEFAULT_TRAFFIC_RESET_STRATEGY": "TRAFFIC",
"RESET_TRAFFIC_ON_PAYMENT": "TRAFFIC",
"TRAFFIC_SELECTION_MODE": "TRAFFIC",
"FIXED_TRAFFIC_LIMIT_GB": "TRAFFIC",
"AVAILABLE_SUBSCRIPTION_PERIODS": "PERIODS",
@@ -197,6 +197,7 @@ class BotConfigurationService:
"BACKUP_": "BACKUP",
"WEBHOOK_": "WEBHOOK",
"LOG_": "LOG",
"WEB_API_": "WEB_API",
"DEBUG": "DEBUG",
}