Проект для сбора сообщений из 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 # Главная документация
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
pip install -r telethon\requirements.txt
pip install -r bot\requirements.txtСоздайте .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.
python telethon\main.pyПри первом запуске Telethon попросит номер телефона, код из Telegram и пароль 2FA, если он включен.
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— состояние обработки по чатам.
Проект уже настроен так, чтобы не публиковать приватные данные:
.envbot/.envtelethon/.envtelethon/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.