From 3514a8bb6b57c743c921be84fccd2ae59b59595e Mon Sep 17 00:00:00 2001 From: Admin Date: Tue, 3 Mar 2026 13:53:07 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20=D0=98=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BD=D0=BE=D0=BF?= =?UTF-8?q?=D0=BA=D0=B8=20'=D0=A1=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B2=D0=B5=D1=80=D0=B8=D1=84=D0=B8=D1=86=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Теперь кнопка показывает реальный список: - Пользователи с verified=False - Сортировка по дате вступления - Показывает ID, квартиру, дату - Подсказка что делать 📝 Было: - Показывала подсказку по команде /unverified_list 📝 Стало: - Показывает реальный список непроверенных - Сразу видно кто требует верификации - Удобно для админа! Co-authored-by: Qwen-Coder --- handlers/admin.py | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/handlers/admin.py b/handlers/admin.py index ff48c4b..4d2e343 100644 --- a/handlers/admin.py +++ b/handlers/admin.py @@ -915,15 +915,35 @@ async def cb_admin_unverify(message: CallbackQuery): @router.callback_query(F.data == 'admin_unverified_list') @admin_only -async def cb_admin_unverified_list(message: CallbackQuery): - """Кнопка Список не верифицированных""" - await message.message.answer( - '📋 Список не верифицированных\n\n' - 'Использование:\n' - '/unverified_list\n\n' - 'Показывает кто был лишён верификации' - ) - await message.answer() +async def cb_admin_unverified_list(callback: CallbackQuery): + """Кнопка Список не верифицированных — показывает реальный список""" + await callback.answer() + + async with AsyncSessionLocal() as session: + # Показываем пользователей у которых verified = False + stmt = select(User).where(User.verified == False).order_by(User.join_date.desc()).limit(50) + result = await session.execute(stmt) + users = list(result.scalars().all()) + + if not users: + await callback.message.answer('✅ Все пользователи верифицированы') + return + + text = '📋 СПИСОК НЕ ВЕРИФИЦИРОВАННЫХ\n\n' + text += f'Всего: {len(users)}\n\n' + + for user in users: + name = user.full_name or f'user{user.user_id}' + apt = f' (кв. {user.apartment})' if user.apartment else '' + username = f'@{user.username}' if user.username else '' + text += f'• {name} {username}{apt}\n' + text += f' └─ ID: {user.user_id} | в боте с {user.join_date.strftime("%d.%m.%Y") if user.join_date else "?"}\n' + + text += '\n💡 Что делать:\n' + text += '• Проверить заявку через /verification\n' + text += '• Или верифицировать через веб-админку' + + await callback.message.answer(text, parse_mode='HTML') @router.callback_query(F.data == 'admin_rank')