Add Docker build workflow and enhance admin functionalities
- Introduced a new GitHub Actions workflow for building and pushing the development Docker image. - Added inline mode handling for user interactions, allowing users to share referral links and view statistics. - Enhanced admin functionalities with new sections for user management, statistics, and promo code management. - Implemented CSV export for logs and improved notification services for various events, including new user registrations and payment notifications. - Updated localization files to support new features and commands.
This commit is contained in:
+77
-1
@@ -82,6 +82,8 @@
|
||||
"no_bonus_days": "0",
|
||||
"referral_no_bonuses_configured": "\nРеферальные бонусы не настроены.",
|
||||
"referral_link_for_copying_reminder": "Ссылка выше. Нажмите и удерживайте для копирования.",
|
||||
"referral_share_message_button": "📩 Сообщение для друга",
|
||||
"referral_friend_message": "🚀 Привет! Попробуй этот VPN - быстрый, надёжный и доступный!\n\n🎁 По моей ссылке тебе дадут бонусные дни к подписке!\n\n{referral_link}",
|
||||
"friend_placeholder": "друг",
|
||||
"referral_bonus_inviter_notification_extended": "🎉 Поздравляем! Ваш друг {referee_name} оплатил подписку. Вам начислено {days} бонусных дней! Ваша подписка теперь активна до {new_end_date}.",
|
||||
"referral_bonus_inviter_notification_new_sub": "🎉 Поздравляем! Ваш друг {referee_name} оплатил подписку. Вам начислена бонусная подписка на {days} дней! Она активна до {new_end_date}.",
|
||||
@@ -92,6 +94,7 @@
|
||||
"admin_stats_button": "📊 Статистика",
|
||||
"admin_broadcast_button": "📢 Рассылка",
|
||||
"admin_create_promo_button": "🎁 Создать промо",
|
||||
"admin_create_bulk_promo_button": "📦 Массовое создание",
|
||||
"admin_manage_promos_button": "🛠 Управление промо",
|
||||
"admin_view_promos_button": "👀 Список промо",
|
||||
"admin_ban_user_button": "🚫 Забанить",
|
||||
@@ -100,11 +103,21 @@
|
||||
"admin_view_logs_menu_button": "📄 Логи",
|
||||
"admin_sync_panel_button": "🔄 Синхронизация",
|
||||
"admin_unknown_action": "Неизвестное действие администратора.",
|
||||
|
||||
"admin_stats_and_monitoring_section": "📊 Статистика и мониторинг",
|
||||
"admin_user_management_section": "👥 Управление пользователями",
|
||||
"admin_promo_marketing_section": "🎁 Промокоды и маркетинг",
|
||||
"admin_system_functions_section": "⚙️ Системные функции",
|
||||
"admin_ban_management_section": "🚫 Управление блокировками",
|
||||
"admin_users_management_button": "👤 Управление пользователями",
|
||||
"back_to_user_management_button": "⬅️ К управлению пользователями",
|
||||
"admin_action_cancelled_default": "Действие отменено. Возврат в меню.",
|
||||
"admin_action_cancelled_default_alert": "Действие отменено",
|
||||
"back_to_admin_panel_button": "⬅️ В админку",
|
||||
|
||||
"admin_stats_header": "📊 Статистика Бота",
|
||||
"admin_enhanced_users_stats_header": "Пользователи",
|
||||
"admin_financial_stats_header": "Финансовая статистика",
|
||||
"admin_stats_users": "👥 Пользователи: Всего - {total_users}, Забанено - {banned_users}, С активной подпиской - {active_subs}",
|
||||
"admin_stats_recent_payments_header": "Последние платежи:",
|
||||
"admin_stats_payment_item": "{status_emoji} {amount} {currency} от {user_info} ({p_status}) [{p_date}]",
|
||||
@@ -193,6 +206,7 @@
|
||||
"admin_logs_menu_title": "Меню логов:",
|
||||
"admin_view_all_logs_button": "📜 Все логи сообщений",
|
||||
"admin_view_user_logs_prompt_button": "👤 Логи пользователя",
|
||||
"admin_export_logs_csv_button": "📄 Экспорт в CSV",
|
||||
"admin_all_logs_title": "Все логи (стр. {current_page}/{total_pages}):",
|
||||
"admin_no_logs_found": "Логи не найдены.",
|
||||
"admin_log_entry_format": "<code>{timestamp_str}</code> - <b>{user_display}</b> (ID: {user_id})\n <i>{event_type}</i>: {content_preview}",
|
||||
@@ -223,5 +237,67 @@
|
||||
"admin_new_payment_notification": "\ud83d\udcb3 Получен платеж от пользователя {user_id}: {months} мес. за {amount} {currency}.",
|
||||
"admin_promo_activation_notification": "\ud83c\udf81 Пользователь {user_id} активировал промокод {code} (+{bonus_days} дн.)",
|
||||
|
||||
"error_unknown": "Произошла неизвестная ошибка."
|
||||
"error_unknown": "Произошла неизвестная ошибка.",
|
||||
|
||||
"admin_user_management_prompt": "👤 Управление пользователями\n\nВведите ID пользователя или @username для поиска:",
|
||||
"admin_user_card_title": "Карточка пользователя",
|
||||
"admin_user_subscription_info": "Информация о подписке:",
|
||||
"admin_user_reset_trial_button": "🔄 Сбросить триал",
|
||||
"admin_user_add_subscription_button": "➕ Добавить дни",
|
||||
"admin_user_toggle_ban_button": "🚫 Заблокировать/Разблокировать",
|
||||
"admin_user_send_message_button": "✉️ Отправить сообщение",
|
||||
"admin_user_view_logs_button": "📜 Действия пользователя",
|
||||
"admin_user_refresh_button": "🔄 Обновить",
|
||||
"admin_user_search_new_button": "🔍 Найти другого",
|
||||
"admin_user_view_all_logs_button": "📋 Все действия",
|
||||
"admin_user_back_to_card_button": "🔙 К карточке",
|
||||
|
||||
"admin_user_not_found": "❌ Пользователь не найден: {input}",
|
||||
"admin_user_not_found_action": "Пользователь не найден",
|
||||
"admin_user_card_error": "❌ Ошибка отображения карточки пользователя",
|
||||
"admin_user_trial_reset_success": "✅ Триал сброшен! Пользователь может активировать триал заново.",
|
||||
"admin_user_trial_reset_error": "❌ Ошибка сброса триала",
|
||||
"admin_user_add_subscription_prompt": "➕ Добавление дней подписки для пользователя {user_id}\n\nВведите количество дней для добавления:",
|
||||
"admin_user_invalid_days": "❌ Неверное количество дней. Введите число от 1 до 3650.",
|
||||
"admin_user_subscription_added_success": "✅ Успешно добавлено {days} дней подписки пользователю {user_id}",
|
||||
"admin_user_subscription_added_error": "❌ Ошибка добавления дней подписки",
|
||||
"admin_user_ban_toggle_success": "✅ Пользователь {status}",
|
||||
"admin_user_ban_toggle_error": "❌ Ошибка изменения статуса блокировки",
|
||||
"admin_user_send_message_prompt": "✉️ Отправка сообщения пользователю {user_id}\n\nВведите текст сообщения:",
|
||||
"admin_user_message_too_long": "❌ Сообщение слишком длинное (максимум 4000 символов)",
|
||||
"admin_user_message_sent_success": "✅ Сообщение отправлено пользователю {user_id}",
|
||||
"admin_user_message_sent_error": "❌ Ошибка отправки сообщения",
|
||||
"admin_user_no_logs": "📜 У пользователя нет действий",
|
||||
"admin_user_logs_error": "❌ Ошибка загрузки действий пользователя",
|
||||
"admin_direct_message_signature": "\n\n---\n💬 Сообщение от администратора",
|
||||
|
||||
"inline_referral_message": "🚀 Привет! Попробуй этот крутой VPN сервис!\n\n✨ Быстрый и надежный\n🔒 Полная анонимность\n🌍 Серверы по всему миру\n💎 Бесплатный пробный период\n\nПереходи по ссылке: {referral_link}",
|
||||
"inline_referral_title": "🎁 Пригласить друга",
|
||||
"inline_referral_description": "Поделиться реферальной ссылкой для получения бонусов",
|
||||
|
||||
"inline_user_stats_message": "👥 <b>Статистика пользователей</b>\n\n📊 Всего: <b>{total}</b>\n📈 Активных сегодня: <b>{active_today}</b>\n💳 С платной подпиской: <b>{paid}</b>\n🆓 На пробном периоде: <b>{trial}</b>\n😴 Неактивных: <b>{inactive}</b>\n🚫 Заблокированных: <b>{banned}</b>\n🎁 По реферальной программе: <b>{referral}</b>",
|
||||
"inline_admin_user_stats_title": "👥 Статистика пользователей",
|
||||
"inline_admin_user_stats_desc": "Всего: {total}, Активных: {paid}",
|
||||
|
||||
"inline_financial_stats_message": "💰 <b>Финансовая статистика</b>\n\n📅 За сегодня: <b>{today:.2f} RUB</b>\n ({today_count} платежей)\n📅 За неделю: <b>{week:.2f} RUB</b>\n📅 За месяц: <b>{month:.2f} RUB</b>\n🏆 За все время: <b>{all_time:.2f} RUB</b>",
|
||||
"inline_admin_financial_stats_title": "💰 Финансовая статистика",
|
||||
"inline_admin_financial_stats_desc": "Сегодня: {today:.2f} RUB",
|
||||
|
||||
"inline_system_stats_message": "🖥 <b>Системная статистика</b>\n\n🟢 Онлайн: <b>{online}</b>\n🔴 Офлайн: <b>{offline}</b>\n⏰ Истекшие: <b>{expired}</b>\n👥 Всего пользователей: <b>{total}</b>",
|
||||
"inline_admin_system_stats_title": "🖥 Системная статистика",
|
||||
"inline_admin_system_stats_desc": "Онлайн: {online}, Офлайн: {offline}",
|
||||
|
||||
"inline_admin_help_message": "🤖 <b>Inline режим бота</b>\n\n📱 <b>Доступные команды:</b>\n\n🎁 <b>реф/ref</b> - поделиться реферальной ссылкой\n👥 <b>стат/stat</b> - статистика пользователей\n💰 <b>финансы</b> - финансовая статистика\n🖥 <b>система</b> - системная статистика\n\n💡 Просто напишите @{bot_username} и начните вводить команду в любом чате!",
|
||||
"inline_admin_help_title": "🤖 Inline помощь (Админ)",
|
||||
"inline_admin_help_desc": "Доступны команды: реф, стат, финансы, система",
|
||||
|
||||
"inline_user_help_message": "🤖 <b>Inline режим бота</b>\n\n📱 <b>Доступные команды:</b>\n\n🎁 <b>реф/ref</b> - поделиться реферальной ссылкой\n\n💡 Просто напишите @{bot_username} и начните вводить 'реф' в любом чате!",
|
||||
"inline_user_help_title": "🤖 Inline помощь",
|
||||
"inline_user_help_desc": "Доступна команда: реф (реферальная ссылка)",
|
||||
|
||||
"log_referral_suffix": " (реферал от {referrer_id})",
|
||||
"log_new_user_registration": "👤 <b>Новый пользователь</b>\n\n🆔 ID: <code>{user_id}</code>\n👤 Имя: {user_display}{referral_text}\n📅 Время: {timestamp}",
|
||||
"log_payment_received": "{provider_emoji} <b>Получен платеж</b>\n\n👤 Пользователь: {user_display}\n💰 Сумма: <b>{amount} {currency}</b>\n📅 Период: <b>{months} мес.</b>\n🏦 Провайдер: {payment_provider}\n🕐 Время: {timestamp}",
|
||||
"log_promo_activation": "🎁 <b>Активирован промокод</b>\n\n👤 Пользователь: {user_display}\n🏷 Код: <code>{promo_code}</code>\n🎯 Бонус: <b>+{bonus_days} дн.</b>\n🕐 Время: {timestamp}",
|
||||
"log_trial_activation": "🆓 <b>Активирован триал</b>\n\n👤 Пользователь: {user_display}\n⏰ Действует до: <b>{end_date}</b>\n🕐 Время: {timestamp}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user