count users without gamers

This commit is contained in:
vrubelroman 2025-11-20 02:22:44 +03:00
parent ef9aa3d3df
commit faf6ec0c35
3 changed files with 32 additions and 1 deletions

View file

@ -167,6 +167,18 @@ class AdminBot:
cursor.execute("SELECT COUNT(*) FROM telegram_users WHERE DATE(created_at) = ?", (today,))
users_today = cursor.fetchone()[0]
# Count users without gamers
cursor.execute("""
SELECT COUNT(DISTINCT tu.user_id)
FROM telegram_users tu
LEFT JOIN user_gamers ug ON tu.user_id = ug.user_id
WHERE ug.id IS NULL
""")
users_without_gamers = cursor.fetchone()[0]
# Calculate percentage
users_without_gamers_percent = round((users_without_gamers / users_count * 100)) if users_count > 0 else 0
# Count unique gamers
cursor.execute("SELECT COUNT(DISTINCT username) FROM gamers")
gamers_count = cursor.fetchone()[0]
@ -201,6 +213,7 @@ class AdminBot:
message = (
f"📊 <b>Статистика базы данных</b>\n\n"
f"👥 Пользователей Telegram: {users_count} (сегодня: {users_today})\n"
f"👤 Пользователей без игроков: {users_without_gamers} ({users_without_gamers_percent}%)\n"
f"🎮 Отслеживаемых игроков: {gamers_count} (сегодня: {gamers_today})\n\n"
f"📨 <b>Счетчики сообщений</b>\n\n"
f"Всего отправлено: <b>{stats['total_all_time']}</b>\n"