Optimize and fix keyboards
This commit is contained in:
@@ -20,7 +20,7 @@ def build_coupons_kb() -> InlineKeyboardMarkup:
|
||||
callback_data=AdminPanelCallback(action="coupons_list").pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("admin")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
+18
-16
@@ -10,7 +10,7 @@ class AdminPanelCallback(CallbackData, prefix="admin_panel"):
|
||||
def build_panel_kb() -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.button(
|
||||
text="🔍 Поиск пользователя",
|
||||
text="👤 Поиск пользователя",
|
||||
callback_data=AdminPanelCallback(action="search_user").pack()
|
||||
)
|
||||
builder.button(
|
||||
@@ -31,19 +31,21 @@ def build_panel_kb() -> InlineKeyboardMarkup:
|
||||
text="📢 Рассылка",
|
||||
callback_data=AdminPanelCallback(action="sender").pack()
|
||||
)
|
||||
builder.button(
|
||||
text="🤖 Управление Ботом",
|
||||
callback_data=AdminPanelCallback(action="management").pack()
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
text="📊 Статистика",
|
||||
callback_data=AdminPanelCallback(action="stats").pack()
|
||||
),
|
||||
InlineKeyboardButton(
|
||||
text="🤖 Управление",
|
||||
callback_data=AdminPanelCallback(action="management").pack()
|
||||
)
|
||||
)
|
||||
builder.button(
|
||||
text="📊 Статистика",
|
||||
callback_data=AdminPanelCallback(action="stats").pack()
|
||||
)
|
||||
builder.button(
|
||||
text="👤 Личный кабинет",
|
||||
text="Личный кабинет",
|
||||
callback_data="profile"
|
||||
)
|
||||
builder.adjust(1, 1, 2, 1)
|
||||
builder.adjust(1, 1, 2, 1, 2, 1)
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
@@ -54,7 +56,7 @@ def build_management_kb() -> InlineKeyboardMarkup:
|
||||
callback_data=AdminPanelCallback(action="backups").pack()
|
||||
)
|
||||
builder.button(
|
||||
text="🚫 Баны",
|
||||
text="🚫 Заблокировавшие бота",
|
||||
callback_data=AdminPanelCallback(action="bans").pack()
|
||||
)
|
||||
builder.button(
|
||||
@@ -62,7 +64,7 @@ def build_management_kb() -> InlineKeyboardMarkup:
|
||||
callback_data=AdminPanelCallback(action="restart").pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("admin")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
@@ -71,17 +73,17 @@ def build_management_kb() -> InlineKeyboardMarkup:
|
||||
def build_restart_kb() -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.button(
|
||||
text="✅ Да, перезапустить",
|
||||
text="✅ Да, перезагрузить",
|
||||
callback_data=AdminPanelCallback(action="restart_confirm").pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("admin")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
def build_admin_back_kb(action: str) -> InlineKeyboardMarkup:
|
||||
def build_admin_back_kb(action: str = "admin") -> InlineKeyboardMarkup:
|
||||
return build_admin_singleton_kb("🔙 Назад", action)
|
||||
|
||||
|
||||
@@ -93,7 +95,7 @@ def build_admin_singleton_kb(text: str, action: str) -> InlineKeyboardMarkup:
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
def build_admin_back_btn(action: str) -> InlineKeyboardMarkup:
|
||||
def build_admin_back_btn(action: str = "admin") -> InlineKeyboardMarkup:
|
||||
return build_admin_btn("🔙 Назад", action)
|
||||
|
||||
|
||||
|
||||
@@ -12,25 +12,25 @@ class AdminSenderCallback(CallbackData, prefix="admin_sender"):
|
||||
def build_sender_kb() -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.button(
|
||||
text="📢 Отправить всем",
|
||||
text="👥 Все пользователи",
|
||||
callback_data=AdminSenderCallback(
|
||||
type="all"
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="📢 Отправить с подпиской",
|
||||
text="✅ Пользователи с подпиской",
|
||||
callback_data=AdminSenderCallback(
|
||||
type="subscribed"
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="📢 Отправить без подписки",
|
||||
text="❌ Пользователи без подписки",
|
||||
callback_data=AdminSenderCallback(
|
||||
type="unsubscribed"
|
||||
).pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("admin")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
|
||||
@@ -27,7 +27,7 @@ def build_clusters_editor_kb(servers: dict) -> InlineKeyboardMarkup:
|
||||
callback_data=AdminPanelCallback(action="clusters_add").pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("admin")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
|
||||
@@ -19,7 +19,7 @@ def build_stats_kb() -> InlineKeyboardMarkup:
|
||||
callback_data=AdminPanelCallback(action="stats_export_payments_csv").pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("admin")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
|
||||
+69
-42
@@ -7,44 +7,47 @@ from keyboards.admin.panel_kb import build_admin_back_btn
|
||||
|
||||
class AdminUserEditorCallback(CallbackData, prefix="admin_users"):
|
||||
action: str
|
||||
data: str
|
||||
tg_id: int
|
||||
data: str | None = None
|
||||
|
||||
|
||||
def build_user_edit_kb(tg_id: int, key_records: list) -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
|
||||
for email in key_records:
|
||||
for record in key_records:
|
||||
email = record["email"]
|
||||
builder.button(
|
||||
text=f"🔑 {email}",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_key_edit",
|
||||
data=email
|
||||
tg_id=tg_id,
|
||||
data=str(email)
|
||||
).pack()
|
||||
)
|
||||
|
||||
builder.button(
|
||||
text="📝 Изменить баланс",
|
||||
text="💸 Изменить баланс",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_balance_change",
|
||||
data=tg_id
|
||||
tg_id=tg_id
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="🔄 Восстановить пробник",
|
||||
text="🔄 Восстановить триал",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_trial_restore",
|
||||
data=tg_id
|
||||
tg_id=tg_id
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="❌ Удалить клиента",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_delete_user",
|
||||
data=tg_id
|
||||
tg_id=tg_id
|
||||
).pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("users_editor")
|
||||
build_admin_back_btn()
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
@@ -53,14 +56,14 @@ def build_user_edit_kb(tg_id: int, key_records: list) -> InlineKeyboardMarkup:
|
||||
def build_user_delete_kb(tg_id: int):
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.button(
|
||||
text="❌ Удалить клиента",
|
||||
text="❌ Да, удалить!",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_delete_user_confirm",
|
||||
data=tg_id
|
||||
tg_id=tg_id
|
||||
).pack()
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("users_editor")
|
||||
build_editor_back_btn(tg_id, True)
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
@@ -68,53 +71,77 @@ def build_user_delete_kb(tg_id: int):
|
||||
|
||||
def build_key_edit_kb(key_details: dict, email: str) -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
text="ℹ️ Получить информацию о юзере",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_info",
|
||||
data=key_details["tg_id"]
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="ℹ️ Получить информацию о юзере",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_info",
|
||||
tg_id=key_details["tg_id"]
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="⏳ Изменить время истечения",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_change_expiry",
|
||||
data=email,
|
||||
tg_id=key_details["tg_id"]
|
||||
).pack()
|
||||
)
|
||||
builder.button(
|
||||
text="❌ Удалить ключ",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_delete_key",
|
||||
data=email,
|
||||
tg_id=key_details["tg_id"]
|
||||
).pack()
|
||||
)
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
text="⏳ Изменить время истечения",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_change_expiry",
|
||||
data=email
|
||||
).pack()
|
||||
)
|
||||
)
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
text="❌ Удалить ключ",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_delete_key",
|
||||
data=email
|
||||
).pack()
|
||||
)
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("users_editor")
|
||||
build_editor_back_btn(key_details["tg_id"], True)
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
def build_key_delete_kb(client_id: str) -> InlineKeyboardMarkup:
|
||||
def build_key_delete_kb(tg_id: int, client_id: str) -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
text="✅ Да, удалить",
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_delete_key_confirm",
|
||||
data=client_id
|
||||
data=client_id,
|
||||
tg_id=tg_id
|
||||
).pack()
|
||||
)
|
||||
)
|
||||
builder.row(
|
||||
build_admin_back_btn("users_editor")
|
||||
build_editor_back_btn(tg_id)
|
||||
)
|
||||
builder.adjust(1)
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
def build_editor_kb(tg_id: int, edit: bool = False) -> InlineKeyboardMarkup:
|
||||
return build_editor_singleton_kb("🔙 Назад", tg_id, edit)
|
||||
|
||||
|
||||
def build_editor_singleton_kb(text: str, tg_id: int, edit: bool = False) -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.row(
|
||||
build_editor_btn(text, tg_id, edit)
|
||||
)
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
def build_editor_back_btn(tg_id: int, edit: bool = False) -> InlineKeyboardButton:
|
||||
return build_editor_btn("🔙 Назад", tg_id, edit)
|
||||
|
||||
|
||||
def build_editor_btn(text: str, tg_id: int, edit: bool = False) -> InlineKeyboardButton:
|
||||
return InlineKeyboardButton(
|
||||
text=text,
|
||||
callback_data=AdminUserEditorCallback(
|
||||
action="users_editor",
|
||||
data="" if edit else "edit",
|
||||
tg_id=tg_id
|
||||
).pack()
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user