Skip to content

ChaosClap/Telegram_Harvester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TG Harvester — сборщик сообщений из Telegram-каналов

Небольшой сборщик сообщений для MTProto (Telethon), который раз в час:

  • проверяет валидность сессии (healthcheck),
  • читает список каналов из channels.txt,
  • для новых каналов делает полный импорт (только текст),
  • для известных — инкремент (догружает только новые),
  • складывает записи в таблицу messages (MySQL или локально SQLite).

Сохраняем строго текст сообщения — медиа не скачиваем.
Логи пишутся в log.txt и в journalctl (если запущено через systemd).

Возможности

  • Надёжные проходы (батчи, идемпотентные INSERT-ы).
  • Фильтр «пустых» и коротких сообщений (< 10 символов) — не сохраняем мусор/удалёнки.
  • Полезные утилиты: healthcheck, QR-логин, статистика по тексту/видео.

Архитектура (коротко)

  • PRIMARY KEY (channel_id, message_id) — быстрые вставки и инкременты.
  • channel_idBIGINT, message_id — INT, added/edited — UTC DATETIME, data — TEXT (только текст).
  • Ежечасный однопроходный сервис (src/run_once.py), планирование — через systemd timer.

Требования

  • Python 3.10+
  • MySQL 8+ / SQLite (локально)
  • Telegram API: TG_API_ID, TG_API_HASH, StringSession

Установка

git clone https://github.com/<ваш-юзер>/tg-harvester.git
cd tg-harvester
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages