feat(bot): implement HWID device list and deletion
This commit is contained in:
@@ -3,7 +3,7 @@ from aiogram.utils.keyboard import InlineKeyboardBuilder
|
||||
from remnawave.models.hwid import HwidDeviceDto
|
||||
|
||||
from config import settings
|
||||
from misc.utils import convert_duration_to_int
|
||||
from misc.utils import convert_duration_to_int, format_hwid_device
|
||||
from schemas.subscriptions import SubscriptionDuration
|
||||
|
||||
from .common import _return_to_menu_btn
|
||||
@@ -146,10 +146,24 @@ def pay_url(url: str) -> InlineKeyboardMarkup:
|
||||
]
|
||||
).as_markup()
|
||||
|
||||
|
||||
def construct_devices_list(devices: list[HwidDeviceDto]) -> InlineKeyboardMarkup:
|
||||
builder = InlineKeyboardBuilder()
|
||||
|
||||
|
||||
for device in devices:
|
||||
builder.row(InlineKeyboardButton(text=f"{device.platform} | {device.device_model} | {device.user_agent.split('/')[0]}", callback_data=f"hwid:{device.hwid}"))
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
text=format_hwid_device(device), callback_data=f"hwid:{device.hwid}"
|
||||
)
|
||||
)
|
||||
builder.row(_return_btn(data="sub_info"))
|
||||
return builder.as_markup()
|
||||
return builder.as_markup()
|
||||
|
||||
|
||||
def prompt_hwid_deletion_kb(hwid: str) -> InlineKeyboardMarkup:
|
||||
return InlineKeyboardBuilder(
|
||||
[
|
||||
[InlineKeyboardButton(text="🗑️ Удалить", callback_data=f"delete_hwid:{hwid}")],
|
||||
[_return_btn("hwid_control", text="❌ Отмена")],
|
||||
]
|
||||
).as_markup()
|
||||
|
||||
Reference in New Issue
Block a user