from aiogram.filters.callback_data import CallbackData from aiogram.types import InlineKeyboardMarkup from aiogram.utils.keyboard import InlineKeyboardBuilder from keyboards.admin.panel_kb import build_admin_back_btn class AdminSenderCallback(CallbackData, prefix="admin_sender"): type: str def build_sender_kb() -> InlineKeyboardMarkup: builder = InlineKeyboardBuilder() builder.button(text="👥 Все пользователи", callback_data=AdminSenderCallback(type="all").pack()) builder.button(text="✅ Пользователи с подпиской", callback_data=AdminSenderCallback(type="subscribed").pack()) builder.button(text="❌ Пользователи без подписки", callback_data=AdminSenderCallback(type="unsubscribed").pack()) builder.row(build_admin_back_btn()) builder.adjust(1) return builder.as_markup()