Telegram message counter
Find a file
2026-04-03 18:50:20 +03:00
main.py Загрузить файлы в «/» 2026-04-03 18:41:45 +03:00
README.md Обновить README.md 2026-04-03 18:50:20 +03:00

📊 Telegram Group Statistics Bot

Легковесный бот для отслеживания активности участников в Telegram-группе. Считает сообщения в реальном времени, хранит статистику в SQLite и формирует рейтинги самых активных пользователей за сутки, неделю и месяц.

Возможности

  • 📈 Живой подсчёт: автоматически фиксирует каждое новое сообщение в целевой группе.
  • 🏆 Рейтинги: команда /top выводит топ-10 активных за 24 часа, 7 дней и 30 дней.
  • 🔄 Пересчёт истории: админская команда /rescan очищает базу и сканирует последние 30 дней сообщений.
  • 🗑 Очистка: /clear для полного сброса статистики.
  • Оптимизация: пакетная вставка в БД, защита от лимитов Telegram API (FloodWait), асинхронная работа.
  • 🔒 Доступ: чувствительные команды защищены проверкой ADMIN_IDS.

📋 Требования

  • Python 3.8+
  • aiogram 3.x
  • SQLite3 (входит в стандартную библиотеку Python)
  • Бот должен иметь право чтения сообщений.

🛠 Установка и запуск

  1. Клонируйте репозиторий или скачайте файл main.py:
    git clone <URL_РЕПОЗИТОРИЯ>
    cd <НАЗВАНИЕАПКИ>
    
  2. Установите зависимости:
    pip install aiogram
    
  3. Отредактируйте настройки в начале файла main.py (см. раздел ⚙️ Конфигурация).
  4. Запустите бота:
    python main.py
    

⚙️ Конфигурация

В начале файла main.py найдите блок !!! НАСТРОЙКИ !!! и укажите свои данные:

Параметр Описание Пример
BOT_TOKEN Токен вашего бота от @BotFather "123456:ABC-DEF1234..."
TARGET_GROUP_ID ID группы для мониторинга -1002643154443
ADMIN_IDS Список ID администраторов (только они могут использовать /rescan и /clear) [5597863868]

💡 Как получить ID группы? Отправьте сообщение группе, затем перешлите его боту @userinfobot или используйте @RawDataBot.

💬 Команды

Команда Описание Доступ
/start Приветствие и справка Все
/top Топ активных (24ч / 7д / 30д) Все
/clear Полная очистка базы данных Только админы
/rescan Сканирование истории за 30 дней и перезапись БД (не работает) Только админы

💾 База данных

  • Бот автоматически создаёт файл chat_stats.db при первом запуске.
  • Структура: таблица messages (user_id, user_name, message_date).
  • Данные сохраняются пакетно по 500 записей для повышения производительности.