# ============================================================ # PREMIUM EMOJI # ============================================================ class PremiumEmoji: def __init__(self, emoji_id: int, emoji: str): self.emoji_id = emoji_id self.emoji = emoji def __str__(self) -> str: return f'{self.emoji}' # — Иконки бота MALENIA_LOGO = PremiumEmoji(5265053829522562789, "☀️") MALENIA_HEART = PremiumEmoji(5276516908257025723, "❤️") MALENIA_LINK = PremiumEmoji(5276012730636082950, "🔗") MALENIA_COINS = PremiumEmoji(5276298354551199712, "🪙") MALENIA_LOCKED = PremiumEmoji(5276346642868508688, "🔒") MALENIA_SUPPORT = PremiumEmoji(5275968088746006467, "🎧") # ============================================================ # ШАБЛОНЫ — ОБЩИЕ БЛОКИ # ============================================================ _SUPPORT_USER_DESCRIPTION = ( "👤 Профиль: {full_name}\n" "🔗 Alias: {username_display}\n" "🆔 UID: {telegram_id}\n\n" "❤️ Referal UID: {referal_id}\n\n" "💰 Баланс: {balance}" ) _DIVIDER = "────────────────────────────\n\n" # ============================================================ # МАППИНГИ # ============================================================ # ============================================================ # СТАТУСЫ ПОДПИСКИ # ============================================================ # — Иконки статусов STATUS_ICON_ACTIVE = "🟢" STATUS_ICON_DISABLED = "⚪" STATUS_ICON_EXPIRED = "🔴" STATUS_ICON_LIMITED = "🟠" STATUS_ICON_UNKNOWN = "❓" # — Тексты статусов STATUS_ACTIVE = "активна" STATUS_DISABLED = "отключена" STATUS_EXPIRED = "истёк" STATUS_LIMITED = "трафик ограничен" STATUS_UNKNOWN = "неизвестный статус" GENERAL_SUCCESS = "✅" # ============================================================ # ФОРМАТИРОВАНИЕ ДАННЫХ # ============================================================ # — Дни до истечения подписки DAYS_LEFT_POSITIVE = "{days} дн." DAYS_LEFT_EXPIRED = "истекла {days} дн. назад" DAYS_LEFT_TODAY = "подходит к концу сегодня" # — Username NO_USERNAME = "отсутствует" USERNAME_DISPLAY = "@{username}" # — Internal Squads NO_SQUADS = "отсутствуют" # — HWID лимит UNLIMITED_HWID = "без лимитов" # — Трафик NO_TRAFFIC_LIMIT = "не ограничен" TRAFFIC_WITH_LIMIT = "{used} / {limit}" TRAFFIC_NO_LIMIT = "{used}" # — Прочее NOTHING_PLACEHOLDER = "∅" # ============================================================ # ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС # ============================================================ MAIN_MENU = ( str(MALENIA_LOGO) + " Malenia — {quote}\n\n" + f"{MALENIA_HEART} Личный кабинет\n" + f"{MALENIA_COINS} Ваш баланс: {{balance}}₽\n" + f"{MALENIA_LINK} Ссылка на подписку: {{link}}" ) FAQ_TEXT = ( "Ваши частые вопросы:\n\n" "— Зачем мне это?\n" "Если вас устраивает, что ваш интернет ограничен парой сайтов и банков, то вам не к нам. Но если хочется свободы и анонимности — добро пожаловать.\n\n" "— Это безопасно?\n" "Мы не храним ваши данные, не используем их в коммерческих целях и не передаем третьим лицам," "но важно понимать, что полной анонимности не существует. Мы делаем всё, чтобы минимизировать риски, но не продаём иллюзий.\n\n" "— Почему что-то не работает?\n" "Фильтры постоянно обновляются и подстраиваются под новые методы обхода. А мы подстраиваемся под них.\n" "Если что-то перестало работать, скорее всего, это временно, и мы уже работаем над решением. Но обращения в поддержку с описанием проблемы и скриншотами всегда приветствуются, это помогает нам быстрее находить и устранять проблемы.\n\n" "— Как работает реферальная система?\n" "Вы получаете уникальную ссылку, по которой могут прийти ваши друзья. За каждого приведённого друга, который оформит подписку," "вам будет начисляться процент от их оплаченной подписки на баланс." ) CALLBACK_PROCESSING = "⏳" GENERAL_PROCESSING = "⏳ Подождите..." STANDARD_FALLBACK = ( "❌ Ошибка. Прожмите /start. Если не поможет — значит, мы где-то не доглядели." ) CALLBACK_FALLBACK = "❌ Что-то пошло не так. Повторите попытку или обратитесь в поддержку." CONTEXT_REINITIATED = "🌑 Сессия сброшена. Данные могли обновиться." UNDEFINED_MESSAGE = "❌ Таких команд у нас нет.\n\nИщете техподдержку? Вам в /support\nПотерялись? Вам в /start." SUBSCRIPTION_INFORMATION = ( "📊 Данные о подписке\n\n" f"{MALENIA_LINK} Ссылка на подписку: {{link}}\n\n" "{status_icon} Статус: {status}\n" + "📅 Истекает: {expire_date}\n" + "⏳ Осталось дней: {days_left}\n" + "📊 Израсходовано трафика: {used_traffic}\n" + "📱 Количество устройств: {hwid_limit}\n" + "💸 Автопродление: {autorenew}" ) NO_SUBSCRIPTION = "⚠️ Подписка не найдена." # ============================================================ # РЕФЕРАЛЬНАЯ СИСТЕМА # ============================================================ REFERALS_MENU = ( "👥 Реферальная система\n\n" "Делитесь свободой с друзьями и получайте деньги на оплату своей подписки.\n" f"{MALENIA_COINS} На вашем счету: " "{balance}₽\n" f"{MALENIA_LINK} Ваша реферальная ссылка: " "{link}" ) # ============================================================ # ОФОРМЛЕНИЕ ПОДПИСКИ # ============================================================ SUBSCRIPTION_DEVICE_SELECTOR = "Сколько устройств вы хотите подключить?\n\nЦена: {price}₽" SUBSCRIPTION_DURATION_SELECTOR = ( "На какой срок хотите оформить подписку?\n\nИтого: {price}₽ (скидка: {discount}%)" ) WHITELISTS_ALREADY_ON = "Белые списки уже активны." CHECKOUT_PAYMENT_CHOICE = "💳 Пополнение баланса:\n\n❓ Выберите способ оплаты:" # ============================================================ # BILLING # ============================================================ _BILL_TEMPLATE = ( "💸 Счёт на {amount}₽\n\n" "‼️ Вам придёт уведомление в течение нескольких минут после завершения платежа.\n" "🔒 Способ оплаты: {provider}\n\n" ) _BILL_LINK = f"{MALENIA_LINK} Ссылка на оплату:" BILL_CREATION = _BILL_TEMPLATE + _DIVIDER + GENERAL_PROCESSING BILL_CREATED = _BILL_TEMPLATE + _DIVIDER + _BILL_LINK INSUFFICIENT_FUNDS = "⚠️ Недостаточно средств для проведения операции.\n\n💰 Текущий баланс: {balance}₽\n💸 Требуется: {amount}₽\n\n❗ Пополните баланс на {diff}₽" SUCCESSFULLY_CREATED_SUBSCRIPTION = ( "💚 Ваша подписка успешно оплачена! Ссылка на добавления доступна в главном меню." ) DEPOSIT_AMOUNT = "💸 Укажите сумму пополнения" DEPOSIT_AMOUNT_FALLBACK = "❌ Сумма пополнения указана неверно, повторите попытку." DEPOSIT_AMOUNT_BELOW_MINIMAL = ( "❌ Сумма пополнения ниже минимальной - {threshold}₽." ) # ============================================================ # ПОДДЕРЖКА # ============================================================ SUPPORT_INIT = "🎧 Тех. Поддержка Malenia — не здесь. Кнопка ниже." SUPPORT_MSG_SENT = "⏳ Приняли ваше сообщение. Мы постараемся ответить на него в ближайшее время.\nВернуться в меню: /cancel" SUPPORT_SIGNATURE = "📡 Ответ от Malenia:"