76 lines
2.5 KiB
Markdown
76 lines
2.5 KiB
Markdown
# 📰 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
|
||
```
|