🔧 Исправление кнопки 'Список не верифицированных'
✅ Теперь кнопка показывает реальный список: - Пользователи с verified=False - Сортировка по дате вступления - Показывает ID, квартиру, дату - Подсказка что делать 📝 Было: - Показывала подсказку по команде /unverified_list 📝 Стало: - Показывает реальный список непроверенных - Сразу видно кто требует верификации - Удобно для админа! Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
819bed706b
commit
3514a8bb6b
1 changed files with 29 additions and 9 deletions
|
|
@ -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')
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue