From 9dc00d815bd09d3fbb440534e42f324617b99d2c Mon Sep 17 00:00:00 2001 From: Capybara-z Date: Thu, 3 Apr 2025 10:25:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BA=D0=BB=D0=BE=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=BD=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Склонение дней --- handlers/admin/coupons/coupons_handler.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/handlers/admin/coupons/coupons_handler.py b/handlers/admin/coupons/coupons_handler.py index 02bba4c5..4dcd8a78 100644 --- a/handlers/admin/coupons/coupons_handler.py +++ b/handlers/admin/coupons/coupons_handler.py @@ -1,7 +1,7 @@ from datetime import datetime -from typing import Any import html import pytz +from typing import Any from aiogram import F, Router from aiogram.enums import ParseMode @@ -31,6 +31,7 @@ from filters.admin import IsAdminFilter from handlers.buttons import BACK from handlers.keys.key_utils import renew_key_in_cluster from handlers.profile import process_callback_view_profile +from handlers.utils import format_days from logger import logger from ..panel.keyboard import AdminPanelCallback, build_admin_back_kb @@ -186,7 +187,7 @@ async def handle_days_coupon_input(message: Message, state: FSMContext, session: coupon_link = f"https://t.me/{USERNAME_BOT}?start=coupons_{coupon_code}" text = ( f"✅ Купон с кодом {coupon_code} успешно создан!\n" - f"⏳ Дней: {days}\n" + f"⏳ {format_days(days)}\n" f"🔢 Лимит использования: {usage_limit} раз\n" f"🔗 Ссылка: {coupon_link}\n" ) @@ -302,10 +303,10 @@ async def inline_coupon_handler(inline_query: InlineQuery, session: Any): return title = f"Купон {coupon['code']}" - description = f"Получи {coupon['amount']} рублей!" if coupon["amount"] > 0 else f"Продли подписку на {coupon['days']} дней!" + description = f"Получи {coupon['amount']} рублей!" if coupon["amount"] > 0 else f"Продли подписку на {format_days(coupon['days'])}!" message_text = ( f"🎫 Купон: {coupon['code']}\n" - f"{'💰 Бонус: ' + str(coupon['amount']) + ' рублей' if coupon['amount'] > 0 else '⏳ Продление: ' + str(coupon['days']) + ' дней'}\n" + f"{'💰 Бонус: ' + str(coupon['amount']) + ' рублей' if coupon['amount'] > 0 else '⏳ Продление: ' + format_days(coupon['days'])}\n" f"👇 Нажми, чтобы активировать!" ) @@ -329,7 +330,6 @@ async def inline_coupon_handler(inline_query: InlineQuery, session: Any): is_personal=True ) - @router.message(F.text.regexp(r"^/start coupons_(.+)$")) async def handle_coupon_activation(message: Message, state: FSMContext, session: Any, admin: bool = False): coupon_code = message.text.split("coupons_")[1] @@ -464,7 +464,7 @@ async def handle_key_extension(callback_query: CallbackQuery, state: FSMContext, alias = key.get("alias") or key["email"] expiry_date = datetime.fromtimestamp(new_expiry / 1000, tz=pytz.timezone("Europe/Moscow")).strftime("%d.%m.%y, %H:%M") - text = f"✅ Купон активирован, подписка {alias} продлена на {coupon['days']}⏳ дней до {expiry_date}📆." + text = f"✅ Купон активирован, подписка {alias} продлена на {format_days(coupon['days'])}⏳ до {expiry_date}📆." await callback_query.message.answer(text) await process_callback_view_profile(callback_query.message, state, admin)