fix format

This commit is contained in:
Yuriy Yuriev
2026-05-22 19:49:54 +07:00
parent 95d3cb008c
commit 858d40d923
2 changed files with 12 additions and 7 deletions
+7 -7
View File
@@ -27,7 +27,7 @@ from managers.task_manager import TaskManager, TaskParams
from services.browser_service import BrowserService from services.browser_service import BrowserService
from services.browser_pool import BrowserPool from services.browser_pool import BrowserPool
from services.visit_service import VisitScheduler from services.visit_service import VisitScheduler
from utils.helpers import parse_range, format_range, extract_domain from utils.helpers import parse_range, format_range, extract_domain, fmt_price
from utils.telegram import send_message_safe, send_visit_result from utils.telegram import send_message_safe, send_visit_result
from managers.storage import TaskStorage, ChatStorage, BalanceStorage, RubleBalanceStorage, PaymentStorage, PaymentHistoryStorage from managers.storage import TaskStorage, ChatStorage, BalanceStorage, RubleBalanceStorage, PaymentStorage, PaymentHistoryStorage
from services.payment_service import HelketPayment from services.payment_service import HelketPayment
@@ -694,7 +694,7 @@ class BotInterface:
# Пополнение рублёвого баланса # Пополнение рублёвого баланса
new_rub = await interface.rub_storage.add_balance(uid, payment["rub"]) new_rub = await interface.rub_storage.add_balance(uid, payment["rub"])
builder = InlineKeyboardBuilder() builder = InlineKeyboardBuilder()
builder.row(InlineKeyboardButton(text=f"🛒 Купить переходы ({settings.CLICK_PRICE_RUB:.0f} ₽/шт)", callback_data="visit_shop")) builder.row(InlineKeyboardButton(text=f"🛒 Купить переходы ({fmt_price(settings.CLICK_PRICE_RUB)} ₽/шт)", callback_data="visit_shop"))
builder.row(InlineKeyboardButton(text="🔙 В кабинет", callback_data="my_balance")) builder.row(InlineKeyboardButton(text="🔙 В кабинет", callback_data="my_balance"))
await callback.message.edit_text( await callback.message.edit_text(
f"✅ Баланс пополнен!\n\n" f"✅ Баланс пополнен!\n\n"
@@ -748,7 +748,7 @@ class BotInterface:
builder.row(InlineKeyboardButton(text="❌ Отмена", callback_data="cancel_pay_input")) builder.row(InlineKeyboardButton(text="❌ Отмена", callback_data="cancel_pay_input"))
await callback.message.edit_text( await callback.message.edit_text(
f"🛒 Купить переходы\n\n" f"🛒 Купить переходы\n\n"
f"Цена: {price:.0f} ₽ за 1 переход", f"Цена: {fmt_price(price)} ₽ за 1 переход",
reply_markup=builder.as_markup() reply_markup=builder.as_markup()
) )
interface._menu_msg[uid] = callback.message.message_id interface._menu_msg[uid] = callback.message.message_id
@@ -770,7 +770,7 @@ class BotInterface:
await callback.message.edit_text( await callback.message.edit_text(
f"🛒 Подтвердите покупку\n\n" f"🛒 Подтвердите покупку\n\n"
f"🔢 {clicks} переходов × {settings.CLICK_PRICE_RUB:.0f} ₽ = {cost}" f"🔢 {clicks} переходов × {fmt_price(settings.CLICK_PRICE_RUB)} ₽ = {cost}"
+ (f"\n\n🪙 Ваш баланс: {rub_bal}" if rub_bal > 0 else ""), + (f"\n\n🪙 Ваш баланс: {rub_bal}" if rub_bal > 0 else ""),
reply_markup=builder.as_markup() reply_markup=builder.as_markup()
) )
@@ -819,7 +819,7 @@ class BotInterface:
builder.row(InlineKeyboardButton(text="❌ Отмена", callback_data="cancel_pay_input")) builder.row(InlineKeyboardButton(text="❌ Отмена", callback_data="cancel_pay_input"))
await callback.message.edit_text( await callback.message.edit_text(
f"✏️ Введите количество переходов\n\n" f"✏️ Введите количество переходов\n\n"
f"Цена: {settings.CLICK_PRICE_RUB:.0f} ₽ за 1 переход", f"Цена: {fmt_price(settings.CLICK_PRICE_RUB)} ₽ за 1 переход",
reply_markup=builder.as_markup() reply_markup=builder.as_markup()
) )
interface._menu_msg[uid] = callback.message.message_id interface._menu_msg[uid] = callback.message.message_id
@@ -967,7 +967,7 @@ class BotInterface:
await callback.message.edit_text( await callback.message.edit_text(
f"Счёт создан\n\n" f"Счёт создан\n\n"
f"🔢 {clicks} переходов × {settings.CLICK_PRICE_RUB:.0f} ₽ = {rub}\n\n" f"🔢 {clicks} переходов × {fmt_price(settings.CLICK_PRICE_RUB)} ₽ = {rub}\n\n"
f"{body}", f"{body}",
reply_markup=builder.as_markup() reply_markup=builder.as_markup()
) )
@@ -2504,7 +2504,7 @@ class BotInterface:
else: else:
builder.row( builder.row(
InlineKeyboardButton(text="💳 Пополнить криптой", callback_data="topup_main"), InlineKeyboardButton(text="💳 Пополнить криптой", callback_data="topup_main"),
InlineKeyboardButton(text=f"🛒 Купить переходы ({settings.CLICK_PRICE_RUB:.0f} ₽/шт)", callback_data="visit_shop"), InlineKeyboardButton(text=f"🛒 Купить переходы ({fmt_price(settings.CLICK_PRICE_RUB)} ₽/шт)", callback_data="visit_shop"),
) )
builder.row(InlineKeyboardButton(text="🧾 История платежей", callback_data="payment_history")) builder.row(InlineKeyboardButton(text="🧾 История платежей", callback_data="payment_history"))
builder.row(InlineKeyboardButton(text="🔑 Режим администратора", callback_data="enter_admin_mode")) builder.row(InlineKeyboardButton(text="🔑 Режим администратора", callback_data="enter_admin_mode"))
+5
View File
@@ -1,5 +1,10 @@
"""Utility helper functions.""" """Utility helper functions."""
def fmt_price(price: float) -> str:
"""Форматирует цену: убирает лишние нули (1.4 → '1.4', 2.0 → '2')."""
return f"{price:g}"
def parse_range(value: str, default_min: int = 5) -> tuple: def parse_range(value: str, default_min: int = 5) -> tuple:
"""Парсит строку диапазона 'мин-макс' или одиночное число.""" """Парсит строку диапазона 'мин-макс' или одиночное число."""
# Очищаем от кавычек и пробелов # Очищаем от кавычек и пробелов