Files
Solo_bot/services/formatting.py
T
2026-04-14 07:19:14 +00:00

42 lines
1.1 KiB
Python

from __future__ import annotations
from config import USERNAME_BOT
def get_plural_form(num: int, form1: str, form2: str, form3: str) -> str:
n = abs(num) % 100
if 10 < n < 20:
return form3
return {1: form1, 2: form2, 3: form2, 4: form2}.get(n % 10, form3)
def format_months(months: int) -> str:
if months <= 0:
return "0 месяцев"
return f"{months} {get_plural_form(months, 'месяц', 'месяца', 'месяцев')}"
def format_days(days: int) -> str:
if days <= 0:
return "0 дней"
return f"{days} {get_plural_form(days, 'день', 'дня', 'дней')}"
def format_duration_days(days: int) -> str:
return format_months(days // 30) if days % 30 == 0 else format_days(days)
def get_telegram_gift_link(gift_id: str) -> str:
return f"https://t.me/{USERNAME_BOT}?start=gift_{gift_id}"
def get_gift_link(user_id: int, gift_id: str) -> str:
return get_telegram_gift_link(gift_id)
def get_site_gift_link(gift_id: str) -> str:
from core.settings.web_config import get_site_url
site_url = get_site_url()
return f"{site_url}/gift/{gift_id}"