Remove /removeuser and update status display

This commit is contained in:
2025-12-04 16:40:01 +03:00
parent e74ab668ce
commit 2e058672ff
3 changed files with 135 additions and 73 deletions

View File

@@ -66,8 +66,8 @@ async def callback_handler(client: Client, callback_query: CallbackQuery):
"\n\n"
"👑 **Команды для администраторов:**\n"
"• `/adduser <user_id или @username>` - Добавить нового пользователя\n"
"• `/removeuser <user_id или @username>` - Удалить пользователя\n"
"• `/blockuser <user_id или @username>` - Заблокировать пользователя\n"
"• `/unblockuser <user_id или @username>` - Разблокировать пользователя\n"
"• `/listusers` - Посмотреть список всех пользователей\n\n"
"💼 **Управление администраторами:**\n"
"• `/addadmin <user_id или @username>` - Назначить администратора\n"
@@ -161,8 +161,8 @@ async def callback_handler(client: Client, callback_query: CallbackQuery):
"👥 **Управление пользователями:**\n\n"
"**Управление пользователями:**\n"
"• /adduser <user_id или @username> - Добавить пользователя\n"
"• /removeuser <user_id или @username> - Удалить пользователя\n"
"• /blockuser <user_id или @username> - Заблокировать пользователя\n"
"• /unblockuser <user_id или @username> - Разблокировать пользователя\n"
"• /listusers - Список всех пользователей\n\n"
"**Управление администраторами:**\n"
"• /addadmin <user_id или @username> - Назначить администратора\n"
@@ -176,8 +176,8 @@ async def callback_handler(client: Client, callback_query: CallbackQuery):
"👥 **Управление пользователями:**\n\n"
"**Доступные команды:**\n"
"• /adduser <user_id или @username> - Добавить пользователя\n"
"• /removeuser <user_id или @username> - Удалить пользователя\n"
"• /blockuser <user_id или @username> - Заблокировать пользователя\n"
"• /unblockuser <user_id или @username> - Разблокировать пользователя\n"
"• /listusers - Список всех пользователей\n\n"
"_Управление через веб-интерфейс будет доступно позже_"
)

View File

@@ -7,7 +7,7 @@ from pyrogram.filters import command
from pyrogram.handlers import MessageHandler
from bot.modules.access_control.permissions import require_permission, Permission
from bot.modules.access_control.user_manager import (
add_user, remove_user, block_user, unblock_user,
add_user, block_user, unblock_user,
add_admin, remove_admin
)
from bot.modules.message_handler.filters import is_url_message
@@ -114,8 +114,8 @@ async def help_command(client: Client, message: Message):
"\n\n"
"👑 **Команды для администраторов:**\n"
"• `/adduser <user_id или @username>` - Добавить нового пользователя\n"
"• `/removeuser <user_id или @username>` - Удалить пользователя\n"
"• `/blockuser <user_id или @username>` - Заблокировать пользователя\n"
"• `/unblockuser <user_id или @username>` - Разблокировать пользователя\n"
"• `/listusers` - Посмотреть список всех пользователей\n\n"
"💼 **Управление администраторами:**\n"
"• `/addadmin <user_id или @username>` - Назначить администратора\n"
@@ -253,39 +253,6 @@ async def adduser_command(client: Client, message: Message):
await message.reply(f"❌ Произошла ошибка: {str(e)}")
async def removeuser_command(client: Client, message: Message):
"""Remove user"""
from bot.modules.access_control.auth import is_admin
from bot.utils.helpers import resolve_user_identifier
# Check access permissions
if not await is_admin(message.from_user.id):
await message.reply("❌ Эта команда доступна только администраторам")
return
if not message.command or len(message.command) < 2:
await message.reply("❌ Использование: /removeuser <user_id или @username>")
return
identifier = message.command[1]
# Resolve identifier (user_id or username)
user_id, error_message = await resolve_user_identifier(identifier)
if not user_id:
await message.reply(f"{error_message}")
return
try:
success, message_text = await remove_user(user_id)
if success:
await message.reply(f"{message_text}")
else:
await message.reply(f"{message_text}")
except Exception as e:
logger.error(f"Error in removeuser_command: {e}", exc_info=True)
await message.reply(f"❌ Произошла ошибка: {str(e)}")
async def blockuser_command(client: Client, message: Message):
"""Block user"""
from bot.modules.access_control.auth import is_admin
@@ -711,12 +678,16 @@ async def url_handler(client: Client, message: Message):
if not task_executor._running:
await task_executor.start()
await message.reply(
f"✅ Ссылка получена!\n\n"
# Send initial status message and save message_id for updates
from bot.modules.task_scheduler.executor import set_task_message
status_message = await message.reply(
f"📥 **Загрузка начата**\n\n"
f"🔗 {url}\n\n"
f"📥 Загрузка добавлена в очередь. Я начну загрузку в ближайшее время.\n"
f"Вы получите уведомление о статусе загрузки."
f"📊 Прогресс: **0%**\n"
f"Ожидание начала загрузки..."
)
# Save message_id for task updates
set_task_message(task_id, status_message.id)
def register_commands(app: Client):
@@ -730,7 +701,6 @@ def register_commands(app: Client):
# User management commands (admin only)
app.add_handler(MessageHandler(adduser_command, filters=command("adduser")))
app.add_handler(MessageHandler(removeuser_command, filters=command("removeuser")))
app.add_handler(MessageHandler(blockuser_command, filters=command("blockuser")))
app.add_handler(MessageHandler(unblockuser_command, filters=command("unblockuser")))
app.add_handler(MessageHandler(listusers_command, filters=command("listusers")))