Restore Russian bot interface
This commit is contained in:
+29
-29
@@ -27,16 +27,16 @@ async def cb_profile(callback: CallbackQuery, state: FSMContext):
|
||||
profile = _get_profile(callback)
|
||||
cfg = load_config()
|
||||
text = (
|
||||
"<b>Your profile</b>\n\n"
|
||||
"👤 <b>Ваш профиль</b>\n\n"
|
||||
f"ID: <code>{profile.user_id}</code>\n"
|
||||
f"Registered: {profile.registered}\n\n"
|
||||
f"Cookies loaded: <b>{profile.cookies_loaded}</b>\n"
|
||||
f"Total earned: <b>{profile.total_earned:.2f} RUB</b>\n"
|
||||
f"Referral earnings: <b>{profile.referral_earned:.2f} RUB</b>\n"
|
||||
f"Balance: <b>{profile.balance:.2f} RUB</b>\n\n"
|
||||
f"Referral link:\nhttps://t.me/{BOT_USERNAME}?start=ref_{profile.user_id}\n\n"
|
||||
f"Referral payout: {cfg.referral_percent}%\n"
|
||||
f"Minimum withdrawal: {cfg.min_withdraw:.2f} RUB"
|
||||
f"📅 Дата регистрации: {profile.registered}\n\n"
|
||||
f"🍪 Загружено cookie: <b>{profile.cookies_loaded}</b>\n"
|
||||
f"💰 Заработано всего: <b>{profile.total_earned:.2f} ₽</b>\n"
|
||||
f"💸 С рефералов: <b>{profile.referral_earned:.2f} ₽</b>\n"
|
||||
f"💳 Текущий баланс: <b>{profile.balance:.2f} ₽</b>\n\n"
|
||||
f"🔗 Ваша реферальная ссылка:\nhttps://t.me/{BOT_USERNAME}?start=ref_{profile.user_id}\n\n"
|
||||
f"💡 Реферальный процент: {cfg.referral_percent}%\n"
|
||||
f"💳 Минимальный вывод: {cfg.min_withdraw:.2f} ₽"
|
||||
)
|
||||
await safe_edit(callback, text, reply_markup=back_kb())
|
||||
await callback.answer()
|
||||
@@ -47,11 +47,11 @@ async def cb_stats(callback: CallbackQuery, state: FSMContext):
|
||||
await state.clear()
|
||||
stats = load_stats()
|
||||
text = (
|
||||
"<b>Global statistics</b>\n\n"
|
||||
f"Users: <b>{stats.total_users}</b>\n"
|
||||
f"Cookies: <b>{stats.total_cookies}</b>\n"
|
||||
f"Direct payouts: <b>{stats.total_paid_direct:.2f} RUB</b>\n"
|
||||
f"Referral payouts: <b>{stats.total_paid_referral:.2f} RUB</b>"
|
||||
"📈 <b>Общая статистика</b>\n\n"
|
||||
f"👥 Пользователей: <b>{stats.total_users}</b>\n"
|
||||
f"🍪 Всего cookie: <b>{stats.total_cookies}</b>\n"
|
||||
f"💰 Прямых выплат: <b>{stats.total_paid_direct:.2f} ₽</b>\n"
|
||||
f"💸 Реферальных выплат: <b>{stats.total_paid_referral:.2f} ₽</b>"
|
||||
)
|
||||
await safe_edit(callback, text, reply_markup=back_kb())
|
||||
await callback.answer()
|
||||
@@ -61,12 +61,12 @@ async def cb_stats(callback: CallbackQuery, state: FSMContext):
|
||||
async def cb_rates(callback: CallbackQuery, state: FSMContext):
|
||||
await state.clear()
|
||||
cfg = load_config()
|
||||
text = "<b>Current rates</b>\n\n"
|
||||
text = "💰 <b>Актуальные курсы</b>\n\n"
|
||||
for rate in cfg.rates.values():
|
||||
text += f"- {rate.name}: {rate.price:.2f} RUB\n"
|
||||
text += f"🔸 {rate.name}: {rate.price:.2f} ₽\n"
|
||||
text += (
|
||||
f"\nAVG: {cfg.avg_min_cookies}+ donation cookies, "
|
||||
f"{cfg.avg_min_price:.2f}-{cfg.avg_max_price:.2f} RUB per cookie."
|
||||
f"\n📊 <b>AVG-система (от {cfg.avg_min_cookies}+ донатных cookie):</b>\n"
|
||||
f"Цена за cookie: {cfg.avg_min_price:.2f}-{cfg.avg_max_price:.2f} ₽."
|
||||
)
|
||||
await safe_edit(callback, text, reply_markup=back_kb())
|
||||
await callback.answer()
|
||||
@@ -80,9 +80,9 @@ async def cb_withdraw(callback: CallbackQuery, state: FSMContext):
|
||||
if profile.balance < cfg.min_withdraw:
|
||||
await safe_edit(
|
||||
callback,
|
||||
f"Insufficient balance: <b>{profile.balance:.2f} RUB</b>\n"
|
||||
f"Minimum: <b>{cfg.min_withdraw:.2f} RUB</b>\n"
|
||||
f"Treasury: <b>{cfg.treasury:.2f} RUB</b>",
|
||||
f"❌ Недостаточно средств. Баланс: <b>{profile.balance:.2f} ₽</b>\n"
|
||||
f"📉 Минимум для вывода: <b>{cfg.min_withdraw:.2f} ₽</b>\n"
|
||||
f"🏦 Казна: <b>{cfg.treasury:.2f} ₽</b>",
|
||||
reply_markup=back_kb(),
|
||||
)
|
||||
await callback.answer()
|
||||
@@ -90,18 +90,18 @@ async def cb_withdraw(callback: CallbackQuery, state: FSMContext):
|
||||
if profile.balance > cfg.treasury:
|
||||
await safe_edit(
|
||||
callback,
|
||||
f"Treasury funds are insufficient: <b>{cfg.treasury:.2f} RUB</b>.",
|
||||
f"⚠️ Недостаточно средств в казне: <b>{cfg.treasury:.2f} ₽</b>.",
|
||||
reply_markup=back_kb(),
|
||||
)
|
||||
await callback.answer()
|
||||
return
|
||||
|
||||
await callback.answer("Creating check...")
|
||||
await safe_edit(callback, "Creating your CryptoBot check...")
|
||||
await callback.answer("⏳ Создаю чек...")
|
||||
await safe_edit(callback, "⏳ Создаю CryptoBot-чек, подождите...")
|
||||
amount = profile.balance
|
||||
check_url = await create_crypto_check(amount)
|
||||
if not check_url:
|
||||
await safe_edit(callback, "Could not create the check. Try again later.", reply_markup=back_kb())
|
||||
await safe_edit(callback, "❌ Не удалось создать чек. Попробуйте позже.", reply_markup=back_kb())
|
||||
return
|
||||
|
||||
profile.balance = 0.0
|
||||
@@ -112,8 +112,8 @@ async def cb_withdraw(callback: CallbackQuery, state: FSMContext):
|
||||
save_config(cfg)
|
||||
await safe_edit(
|
||||
callback,
|
||||
f"Check created for <b>{amount:.2f} RUB</b>.\n"
|
||||
f"<a href='{check_url}'>Activate check</a>",
|
||||
f"✅ Чек создан на сумму <b>{amount:.2f} ₽</b>.\n"
|
||||
f"<a href='{check_url}'>Активировать чек</a>",
|
||||
reply_markup=back_kb(),
|
||||
disable_web_page_preview=True,
|
||||
)
|
||||
@@ -121,7 +121,7 @@ async def cb_withdraw(callback: CallbackQuery, state: FSMContext):
|
||||
await log_admin(
|
||||
bot,
|
||||
ADMIN_ID,
|
||||
f"<b>Withdrawal</b>\n@{profile.username or '-'} (<code>{profile.user_id}</code>)\n"
|
||||
f"Amount: {amount:.2f} RUB\nCheck: {check_url}",
|
||||
f"💸 <b>Вывод средств</b>\n@{profile.username or '—'} (<code>{profile.user_id}</code>)\n"
|
||||
f"Сумма: {amount:.2f} ₽\nЧек: {check_url}",
|
||||
get_log_bot(),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user