Fix, Update menu

This commit is contained in:
Zakhar Izmaylov
2024-11-11 23:07:54 +03:00
parent 83eb59f663
commit f7b5ec93e6
10 changed files with 87 additions and 31 deletions
+3 -2
View File
@@ -9,10 +9,10 @@ storage = MemoryStorage()
dp = Dispatcher(bot=bot, storage=storage)
router = Router()
from handlers import commands, notifications, profile, start
from handlers import commands, notifications, pay, profile, start
from handlers.admin import admin, admin_panel, user_editor
from handlers.keys import key_management, keys
from handlers.payment import cryprobot_pay, freekassa_pay, yookassa_pay
from handlers.payments import cryprobot_pay, freekassa_pay, yookassa_pay
dp.include_router(admin.router)
dp.include_router(admin_panel.router)
@@ -22,6 +22,7 @@ dp.include_router(start.router)
dp.include_router(profile.router)
dp.include_router(keys.router)
dp.include_router(key_management.router)
dp.include_router(pay.router)
if YOOKASSA_ENABLE:
dp.include_router(yookassa_pay.router)
if FREEKASSA_ENABLE:
View File
+4 -1
View File
@@ -574,11 +574,14 @@ async def process_callback_renew_plan(callback_query: types.CallbackQuery):
balance = await get_balance(tg_id)
if balance < cost:
replenish_button = types.InlineKeyboardButton(
text="Пополнить баланс", callback_data="pay"
)
view_profile = types.InlineKeyboardButton(
text="👤 Мой профиль", callback_data="view_profile"
)
keyboard = types.InlineKeyboardMarkup(
inline_keyboard=[[view_profile]]
inline_keyboard=[[replenish_button], [view_profile]]
)
await bot.send_message(
+12
View File
@@ -104,6 +104,12 @@ async def notify_10h_keys(
callback_data=f'renew_key|{record["client_id"]}',
)
],
[
types.InlineKeyboardButton(
text="💳 Пополнить баланс",
callback_data="pay",
)
],
[
types.InlineKeyboardButton(
text="👤 Мой профиль", callback_data="view_profile"
@@ -176,6 +182,12 @@ async def notify_24h_keys(
callback_data=f'renew_key|{record["client_id"]}',
)
],
[
types.InlineKeyboardButton(
text="💳 Пополнить баланс",
callback_data="pay",
)
],
[
types.InlineKeyboardButton(
text="👤 Мой профиль", callback_data="view_profile"
+62
View File
@@ -0,0 +1,62 @@
from aiogram import F, Router
from aiogram.types import CallbackQuery, InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder
from config import CRYPTO_BOT_ENABLE, FREEKASSA_ENABLE, STARS_ENABLE, YOOKASSA_ENABLE
from database import get_trial
from handlers.start import send_welcome_message
router = Router()
@router.callback_query(F.data == "pay")
async def handle_pay(callback_query: CallbackQuery):
await callback_query.message.delete()
builder = InlineKeyboardBuilder()
if YOOKASSA_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс ЯКассой",
callback_data="pay_yookassa",
)
)
if FREEKASSA_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс Freekassa",
callback_data="pay_freekassa",
)
)
if CRYPTO_BOT_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс CryptoBot",
callback_data="pay_cryptobot",
)
)
if STARS_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс Звездами",
callback_data="pay_stars",
)
)
builder.row(InlineKeyboardButton(text="⬅️ Назад", callback_data="view_profile"))
await callback_query.message.answer(
"Выберите удобный вариант оплаты",
parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await callback_query.answer()
@router.callback_query(F.data == "back_to_menu")
async def handle_back_to_menu(callback_query: CallbackQuery):
await callback_query.message.delete()
trial_status = await get_trial(callback_query.from_user.id)
await send_welcome_message(callback_query.from_user.id, trial_status)
await callback_query.answer()
+6 -28
View File
@@ -7,7 +7,7 @@ from aiogram.utils.keyboard import InlineKeyboardBuilder
from loguru import logger
from bot import bot
from config import CHANNEL_URL, CRYPTO_BOT_ENABLE, FREEKASSA_ENABLE, STARS_ENABLE, YOOKASSA_ENABLE
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
@@ -41,34 +41,12 @@ async def process_callback_view_profile(
InlineKeyboardButton(text=" Устройство", callback_data="create_key"),
InlineKeyboardButton(text="📱 Мои устр-ва", callback_data="view_keys"),
)
if YOOKASSA_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс ЯКассой",
callback_data="pay_yookassa",
)
)
if FREEKASSA_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс Freekassa",
callback_data="pay_freekassa",
)
)
if CRYPTO_BOT_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс CryptoBot",
callback_data="pay_cryptobot",
)
)
if STARS_ENABLE:
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс Звездами",
callback_data="pay_stars",
)
builder.row(
InlineKeyboardButton(
text="💳 Пополнить баланс",
callback_data="pay",
)
)
builder.row(
InlineKeyboardButton(text="👥 Пригласить", callback_data="invite"),
InlineKeyboardButton(text="📘 Инструкции", callback_data="instructions"),