This commit is contained in:
Тимур Абайдулин
2026-02-07 14:46:15 +03:00
commit 9fd7d42c6a
8 changed files with 698 additions and 0 deletions

75
README.md Normal file
View File

@@ -0,0 +1,75 @@
# 📰 Telegram News Digest
Автоматический сбор новостей из Telegram-каналов с AI-суммаризацией и доставкой дайджеста.
## Возможности
- Сбор сообщений из списка Telegram-каналов (публичных и приватных)
- Фильтрация по времени (за последние N часов)
- Суммаризация через LLM (Anthropic Claude API / OpenAI / Ollama)
- Группировка новостей по темам
- Отправка дайджеста в Telegram (Избранное или бот)
- Готов к запуску через cron / Airflow
## Быстрый старт
### 1. Получи Telegram API credentials
- Зайди на https://my.telegram.org
- Создай приложение → получи `api_id` и `api_hash`
### 2. (Опционально) Создай Telegram-бота для доставки
- Напиши @BotFather`/newbot`
- Получи токен бота
- Напиши боту любое сообщение, затем узнай свой `chat_id`:
```
curl https://api.telegram.org/bot<TOKEN>/getUpdates
```
### 3. Установи зависимости
```bash
pip install -r requirements.txt
```
### 4. Настрой конфиг
```bash
cp config.example.yaml config.yaml
# Отредактируй config.yaml — впиши свои ключи и список каналов
```
### 5. Первый запуск (авторизация)
```bash
python main.py --auth
```
Введи номер телефона и код из Telegram. Сессия сохранится в файл.
### 6. Запуск сбора дайджеста
```bash
python main.py
```
### Автоматический запуск (cron)
```bash
# Каждый день в 8:00 и 20:00
0 8,20 * * * cd /path/to/tg-digest && python main.py >> digest.log 2>&1
```
## Структура проекта
```
tg-digest/
├── config.example.yaml # Пример конфигурации
├── config.yaml # Твой конфиг (не коммитить!)
├── main.py # Точка входа
├── collector.py # Сбор сообщений из каналов
├── summarizer.py # Суммаризация через LLM
├── delivery.py # Отправка дайджеста
├── requirements.txt # Зависимости
└── README.md
```