Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Summary Bot

Проект для сбора сообщений из Telegram-чатов, сохранения их в SQLite и создания коротких AI-выжимок через GigaChat.

Что умеет проект

  • Собирает сообщения из Telegram через Telethon.
  • Сохраняет сообщения в локальную SQLite-базу.
  • Хранит названия чатов, отправителей, текст и дату сообщений.
  • Создает выжимки по новым сообщениям.
  • Показывает чаты и выжимки через Telegram-бота с кнопками.
  • Позволяет смотреть сохраненные данные через любой SQLite viewer.
  • Включает Flask/Mini App интерфейсы для просмотра данных.

Структура

.
├── bot/                  # Telegram-бот для создания и просмотра выжимок
├── telethon/             # Клиент Telethon для сбора сообщений
├── flask/                # Flask-интерфейс просмотра базы
├── miniapp/              # Telegram Mini App
├── .env.example          # Пример переменных окружения
├── requirements.txt      # Общие зависимости
└── README.md             # Главная документация

Быстрый старт

1. Установка

python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
pip install -r telethon\requirements.txt
pip install -r bot\requirements.txt

2. Настройка

Создайте .env из примера:

copy .env.example .env

Заполните значения:

BOT_TOKEN=your_bot_token_here
CLIENT_ID=your_gigachat_client_id
CLIENT_SECRET=your_gigachat_client_secret
TELEGRAM_API_ID=12345678
TELEGRAM_API_HASH=your_telegram_api_hash
TELETHON_SESSION_NAME=telegram_session

Где взять данные:

  • BOT_TOKEN — у @BotFather.
  • TELEGRAM_API_ID и TELEGRAM_API_HASH — на https://my.telegram.org/apps.
  • CLIENT_ID и CLIENT_SECRET — в кабинете GigaChat.

3. Сбор сообщений

python telethon\main.py

При первом запуске Telethon попросит номер телефона, код из Telegram и пароль 2FA, если он включен.

4. Запуск бота

python bot\main.py

Если Telegram возвращает 409 Conflict, значит где-то уже запущен другой экземпляр этого же бота. Остановите его и запустите команду снова.

Команды бота

  • /start — главное меню с кнопками.
  • /help — справка.
  • /chats — список чатов из базы.
  • /summarize — создать выжимки по новым сообщениям.
  • /summarize <название чата> — создать выжимку по конкретному чату.
  • /latest_summary — показать последнюю выжимку.
  • /status — статистика обработки.

Что открывать в базе

Основной файл базы:

telethon\telegram_messages.db

Открывайте его через SQLite viewer, например SQLite Viewer в Cursor/VS Code или DB Browser for SQLite.

Основные таблицы:

  • messages — сообщения из Telegram.
  • summaries — созданные выжимки.
  • processed_messages — связь обработанных сообщений с выжимками.
  • chat_processing_status — состояние обработки по чатам.

Важные файлы, которые нельзя коммитить

Проект уже настроен так, чтобы не публиковать приватные данные:

  • .env
  • bot/.env
  • telethon/.env
  • telethon/config.py
  • *.session
  • *.db
  • *.log

Перед загрузкой на GitHub проверяйте:

git status

Документация модулей

  • Telethon collector: telethon/README.md
  • Flask viewer: flask/README.md
  • Telegram Mini App: miniapp/README.md

Лицензия

Проект создан в учебных целях. Используйте его ответственно и соблюдайте правила Telegram и сервисов AI API.

About

Telegram bot that collects messages with Telethon, stores them in SQLite, and creates AI-powered chat summaries with GigaChat.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages