🔧 Исправление кнопки '🚫 Отозвать вериф.'

 Теперь кнопка показывает реальный список:
- Пользователи с отозванной верификацией
- Показывает ID, квартиру, когда отозвано
- Сколько дней назад

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

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

💡 Все кнопки теперь работают без подсказок!
- Для подсказок есть кнопка ' Помощь'
- Остальные кнопки показывают результат сразу!

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Admin 2026-03-03 18:16:35 +00:00
parent 3514a8bb6b
commit 8a41de9ddb

View file

@ -899,18 +899,41 @@ async def cb_admin_help(message: CallbackQuery):
@router.callback_query(F.data == 'admin_unverify') @router.callback_query(F.data == 'admin_unverify')
@admin_only @admin_only
async def cb_admin_unverify(message: CallbackQuery): async def cb_admin_unverify(callback: CallbackQuery):
"""Кнопка Отозвать верификацию""" """Кнопка Отозвать верификацию — показывает реальный список"""
text = ( await callback.answer()
'🚫 <b>Отозвать верификацию</b>\n\n'
'Использование:\n' async with AsyncSessionLocal() as session:
'<code>/unverify &lt;user_id&gt; [причина]</code>\n\n' # Показываем пользователей у которых verified = False и была верификация
'Пример:\n' stmt = (
'<code>/unverify 123456789 Подозрение на шпиона</code>\n\n' select(User)
'💡 User ID можно узнать в /users' .where(User.verified == False)
) .where(User.verification_date != None)
await message.message.answer(text, parse_mode='HTML') .order_by(User.verification_date.desc())
await message.answer() .limit(20)
)
result = await session.execute(stmt)
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 ''
days_ago = (datetime.utcnow() - user.verification_date).days if user.verification_date else '?'
text += f'{name}{apt}\n'
text += f' └─ ID: {user.user_id} | отозвано {days_ago} дн. назад\n'
text += '\n💡 <b>Что делать:</b>\n'
text += '• Верифицировать повторно через веб-админку\n'
text += '• Или оставить как есть (пользователь должен пройти верификацию заново)'
await callback.message.answer(text, parse_mode='HTML')
@router.callback_query(F.data == 'admin_unverified_list') @router.callback_query(F.data == 'admin_unverified_list')