Files
Solo_bot/keyboards/profile/keyboards.py
T

79 lines
3.2 KiB
Python

from aiogram.types import InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder
from config import INLINE_MODE
def get_profile_keyboard(admin: bool = False) -> InlineKeyboardBuilder:
"""
Создает клавиатуру для профиля пользователя.
Args:
admin: Флаг, указывающий, является ли пользователь администратором.
Returns:
InlineKeyboardBuilder: Построитель клавиатуры с кнопками профиля.
"""
builder = InlineKeyboardBuilder()
# Основные кнопки профиля
builder.button(text="💰 Баланс", callback_data="balance")
builder.button(text="🔑 Мои подписки", callback_data="my_subs")
builder.button(text="💸 Пополнить баланс", callback_data="payment")
builder.button(text="🎁 Подарки", callback_data="gifts")
builder.button(text="👥 Пригласить друга", callback_data="invite")
builder.button(text="📚 Инструкции", callback_data="instructions")
builder.button(text="🎫 Активировать купон", callback_data="activate_coupon")
# Кнопка админ-панели для администраторов
if admin:
builder.button(text="⚙️ Админ-панель", callback_data="admin_panel")
# Кнопка главного меню
builder.button(text="🏠 Главное меню", callback_data="main_menu")
# Настройка расположения кнопок (2 кнопки в ряд)
builder.adjust(2)
return builder
def get_balance_keyboard() -> InlineKeyboardBuilder:
"""
Создает клавиатуру для раздела баланса.
Returns:
InlineKeyboardBuilder: Построитель клавиатуры с кнопками для баланса.
"""
builder = InlineKeyboardBuilder()
builder.button(text="📊 История баланса", callback_data="balance_history")
builder.button(text="👤 Личный кабинет", callback_data="profile")
builder.adjust(1)
return builder
def get_invite_keyboard(chat_id: int, referral_link: str) -> InlineKeyboardBuilder:
"""
Создает клавиатуру для приглашения друзей.
Args:
chat_id: ID чата пользователя.
referral_link: Реферальная ссылка.
Returns:
InlineKeyboardBuilder: Построитель клавиатуры с кнопками для приглашений.
"""
builder = InlineKeyboardBuilder()
if INLINE_MODE:
builder.button(text="👥 Пригласить друга", switch_inline_query="invite")
else:
invite_text = f"\nПриглашаю тебя пользоваться действительно быстрым VPN вместе:\n\n{referral_link}"
builder.button(text="👥 Пригласить друга", switch_inline_query=invite_text)
builder.button(text="👤 Личный кабинет", callback_data="profile")
builder.adjust(1)
return builder