Files
tg-digest/README.md
Тимур Абайдулин 9fd7d42c6a init
2026-02-07 14:46:15 +03:00

76 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📰 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
```