Update text and add view_tariffs

This commit is contained in:
Zakhar Izmaylov
2024-11-21 20:31:24 +03:00
parent f42fe4236e
commit 6701222697
3 changed files with 41 additions and 15 deletions
+9 -11
View File
@@ -34,8 +34,8 @@ async def handle_activate_coupon(
)
await callback_query.message.answer(
"<b>Введите код купона:</b>\n\n"
"Пожалуйста, введите действующий код купона, который вы хотите активировать.",
"<b>🎫 Введите код купона:</b>\n\n"
"📝 Пожалуйста, введите действующий код купона, который вы хотите активировать. 🔑",
parse_mode="HTML",
reply_markup=builder.as_markup(),
)
@@ -58,9 +58,9 @@ async def process_coupon_code(message: types.Message, state: FSMContext):
InlineKeyboardButton(text="👤 Личный кабинет", callback_data="view_profile")
)
markup = builder.as_markup()
await message.answer(activation_result, reply_markup=markup, parse_mode="HTML")
await message.answer(
activation_result, reply_markup=builder.as_markup(), parse_mode="HTML"
)
await state.clear()
@@ -79,7 +79,7 @@ async def activate_coupon(user_id: int, coupon_code: str):
)
if not coupon_record:
return "<b>❌ Купон не найден</b> или его использование ограничено. Пожалуйста, проверьте код и попробуйте снова."
return "<b>❌ Купон не найден</b> 🚫 или его использование ограничено. 🔒 Пожалуйста, проверьте код и попробуйте снова. 🔍"
usage_exists = await conn.fetchrow(
"""
@@ -90,7 +90,7 @@ async def activate_coupon(user_id: int, coupon_code: str):
)
if usage_exists:
return "<b>❌ Вы уже активировали этот купон.</b> Купоны могут быть активированы только один раз."
return "<b>❌ Вы уже активировали этот купон.</b> 🚫 Купоны могут быть активированы только один раз. 🔒"
coupon_amount = coupon_record["amount"]
@@ -116,13 +116,11 @@ async def activate_coupon(user_id: int, coupon_code: str):
)
await update_balance(user_id, coupon_amount)
return f"<b>✅ Купон успешно активирован!</b>\n\nНа ваш баланс добавлено <b>{coupon_amount} рублей</b>."
return f"<b>✅ Купон успешно активирован! 🎉</b>\n\nНа ваш баланс добавлено <b>{coupon_amount} рублей</b> 💰."
except Exception as e:
logger.error(f"Ошибка при активации купона: {e}")
return (
"<b>⚠️ Произошла ошибка при активации купона.</b>\nПопробуйте ещё раз позже."
)
return "<b>⚠️ Произошла ошибка при активации купона! 🔧</b>\nПопробуйте ещё раз позже. 🕒"
finally:
await conn.close()
+3 -3
View File
@@ -42,9 +42,9 @@ async def process_donate(callback_query: types.CallbackQuery, state: FSMContext)
await bot.send_message(
chat_id=callback_query.from_user.id,
text="🌟 Поддержите наш проект!\n\n"
"Каждый донат помогает развивать и улучшать сервис. "
"Мы ценим вашу поддержку и работаем над тем, чтобы сделать наш продукт еще лучше. 💡",
text="🌟 Поддержите наш проект! 💪\n\n"
"💖 Каждый донат помогает развивать и улучшать сервис. "
"🤝 Мы ценим вашу поддержку и работаем над тем, чтобы сделать наш продукт еще лучше. 🚀💡",
reply_markup=builder.as_markup(),
)
+29 -1
View File
@@ -8,7 +8,7 @@ from aiogram.utils.keyboard import InlineKeyboardBuilder
from bot import bot
from config import CHANNEL_URL
from database import get_balance, get_key_count, get_referral_stats
from handlers.texts import get_referral_link, invite_message_send, profile_message_send
from handlers.texts import get_referral_link, invite_message_send, profile_message_send,RENEWAL_PLANS
from logger import logger
router = Router()
@@ -35,6 +35,9 @@ async def process_callback_view_profile(
builder = InlineKeyboardBuilder()
builder.row(InlineKeyboardButton(text="📢 Наш канал", url=CHANNEL_URL))
builder.row(
InlineKeyboardButton(text="💡 Тарифы", callback_data="view_tariffs")
)
builder.row(
InlineKeyboardButton(text=" Устройство", callback_data="create_key"),
InlineKeyboardButton(text="📱 Мои устройства", callback_data="view_keys"),
@@ -88,6 +91,31 @@ async def process_callback_view_profile(
)
@router.callback_query(F.data == "view_tariffs")
async def view_tariffs_handler(callback_query: types.CallbackQuery):
try:
await callback_query.message.delete()
except Exception as e:
logger.error(f"Ошибка при удалении сообщения: {e}")
builder = InlineKeyboardBuilder()
builder.row(
InlineKeyboardButton(text="⬅️ Вернуться в профиль", callback_data="view_profile")
)
await callback_query.message.answer(
"<b>🚀 Доступные тарифы VPN:</b>\n\n" +
"\n".join([
f"{months} {'месяц' if months == '1' else 'месяца' if int(months) in [2, 3, 4] else 'месяцев'}: "
f"{RENEWAL_PLANS[months]['price']} "
f"{'💳' if months == '1' else '🌟' if months == '3' else '🔥' if months == '6' else '🚀'} рублей"
for months in sorted(RENEWAL_PLANS.keys(), key=int)
]),
parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await callback_query.answer()
@router.callback_query(F.data == "invite")
async def invite_handler(callback_query: types.CallbackQuery):
chat_id = callback_query.from_user.id