MVP
Some checks failed
continuous-integration/drone Build is failing

This commit is contained in:
2025-07-27 22:17:28 +03:00
commit 5662d8877a
26 changed files with 1390 additions and 0 deletions

35
app/keyboards/inline.py Normal file
View File

@@ -0,0 +1,35 @@
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup, KeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder, ReplyKeyboardBuilder
def button_create(iterable: iter, width: int = 1):
""" Функуия для преобразования списка в кнопки для клавиатуры """
kb_builder = ReplyKeyboardBuilder()
kb_builder.row(*[KeyboardButton(text=f'{iterable[i]}') for i in range(len(iterable))], width=width)
return kb_builder.as_markup(resize_keyboard=True, one_time_keyboard=True)
def create_inline_kb(width: int = 1,
*args: str, **kwargs: str) -> InlineKeyboardMarkup:
# Инициализируем билдер
kb_builder = InlineKeyboardBuilder()
# Инициализируем список для кнопок
buttons: list[InlineKeyboardButton] = []
# Заполняем список кнопками из аргументов args и kwargs
if args:
for button in args:
buttons.append(InlineKeyboardButton(
text=button,
callback_data=button))
if kwargs:
for button, text in kwargs.items():
buttons.append(InlineKeyboardButton(
text=text,
callback_data=button))
# Распаковываем список с кнопками в билдер методом row c параметром width
kb_builder.row(*buttons, width=width)
# Возвращаем объект инлайн-клавиатуры
return kb_builder.as_markup(resize_keyboard=True, one_time_keyboard=True)