Files
serverbot/app/keyboards/favorites_keyboards.py

53 lines
1.5 KiB
Python

from aiogram.types import KeyboardButton, InlineKeyboardButton
from aiogram.utils.keyboard import ReplyKeyboardBuilder, InlineKeyboardBuilder
from app.callbacks.callback_favorites import AddFavoriteCallback, DelFavoriteCallback
from app.schemas.favorites_schema import FavoritesSchemaOutput
from app.schemas.user_schema import UserSchemaOutput
async def favorite_list(favorites: list[FavoritesSchemaOutput]):
builder = ReplyKeyboardBuilder()
for favorite in favorites:
builder.add(
KeyboardButton(text=f"/command {favorite.command}")
)
builder.adjust(2)
return builder.as_markup(resize_keyboard=True, one_time_keyboard=True)
async def add_favorite_inline(user: UserSchemaOutput):
builder = InlineKeyboardBuilder()
builder.add(
InlineKeyboardButton(
text="Добавить команду",
callback_data=AddFavoriteCallback(user_id=user.id).pack()
)
)
builder.adjust(1)
return builder.as_markup()
async def add_del_favorite_inline(user: UserSchemaOutput):
builder = InlineKeyboardBuilder()
builder.add(
InlineKeyboardButton(
text="Добавить команду",
callback_data=AddFavoriteCallback(user_id=user.id).pack()
)
)
builder.add(
InlineKeyboardButton(
text="Удалить команду",
callback_data=DelFavoriteCallback(user_id=user.id).pack()
)
)
builder.adjust(1)
return builder.as_markup()