from aiogram.types import InlineKeyboardButton # Настройка экспорта в модули __all__ = ('pagination_btn',) def pagination_btn(action: str, page: int = 0, total_posts: int = 0, bt_page: int = 5) -> list[InlineKeyboardButton]: """ Создает кнопки для пагинации. :param action: Действие в котором нужна пангинация. :param page: Номер начальной страницы, по умолчанию 0. :param total_posts: Количество постов. :param bt_page: Количество кнопок на одной странице. :return: Готовый лист списка инлайн-кнопок. """ navigation_buttons: list[InlineKeyboardButton] = [] if page > 0: navigation_buttons.append(InlineKeyboardButton( text="←", callback_data=f"{action}_page_{page - 1}" )) if (page + 1) * bt_page < total_posts: navigation_buttons.append(InlineKeyboardButton( text="→", callback_data=f"{action}_page_{page + 1}" )) return navigation_buttons