🔧 Исправление кнопки 'Список не верифицированных'

 Теперь кнопка показывает реальный список:
- Пользователи с verified=False
- Сортировка по дате вступления
- Показывает ID, квартиру, дату
- Подсказка что делать

📝 Было:
- Показывала подсказку по команде /unverified_list

📝 Стало:
- Показывает реальный список непроверенных
- Сразу видно кто требует верификации
- Удобно для админа!

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Admin 2026-03-03 13:53:07 +00:00
parent 819bed706b
commit 3514a8bb6b

View file

@ -915,15 +915,35 @@ async def cb_admin_unverify(message: CallbackQuery):
@router.callback_query(F.data == 'admin_unverified_list') @router.callback_query(F.data == 'admin_unverified_list')
@admin_only @admin_only
async def cb_admin_unverified_list(message: CallbackQuery): async def cb_admin_unverified_list(callback: CallbackQuery):
"""Кнопка Список не верифицированных""" """Кнопка Список не верифицированных — показывает реальный список"""
await message.message.answer( await callback.answer()
'📋 <b>Список не верифицированных</b>\n\n'
'Использование:\n' async with AsyncSessionLocal() as session:
'<code>/unverified_list</code>\n\n' # Показываем пользователей у которых verified = False
'Показывает кто был лишён верификации' stmt = select(User).where(User.verified == False).order_by(User.join_date.desc()).limit(50)
) result = await session.execute(stmt)
await message.answer() users = list(result.scalars().all())
if not users:
await callback.message.answer('Все пользователи верифицированы')
return
text = '📋 <b>СПИСОК НЕ ВЕРИФИЦИРОВАННЫХ</b>\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💡 <b>Что делать:</b>\n'
text += '• Проверить заявку через /verification\n'
text += '• Или верифицировать через веб-админку'
await callback.message.answer(text, parse_mode='HTML')
@router.callback_query(F.data == 'admin_rank') @router.callback_query(F.data == 'admin_rank')