К содержимому
Все кейсы

Боты

RepoRadar

Разбор GitHub-репозиториев из Telegram-чата в карточки

Python 3.12FastAPITelethonaiogram 3Gemini 2.0 FlashPostgreSQL 16 + SQLAlchemy 2 asyncAlembicDocker Compose

Проблема

В чат каждый день падают ссылки на репозитории. Открывать каждый, читать README и решать «полезно ли мне» — рутина, которая съедает больше времени, чем сами находки.

Система

Telethon читает один целевой чат, ссылки на репозитории уходят в анализ Gemini со строгой схемой ответа, результат складывается в PostgreSQL и рассылается ботом карточкой. Синхронизация — POST /sync, который сразу отвечает 202 и работает фоновым воркером. Для базы две строки подключения: asyncpg для приложения и psycopg v3 для Alembic. Telethon-сессия живёт в Docker volume, авторизация — отдельным профилем compose, чтобы логин не смешивался с рабочим запуском.

Роль

Соло-разработка: архитектура, интеграции, схема БД, упаковка.

Результат

MVP в Docker Compose, секреты вынесены в переменные окружения (разовый скрипт рассылки раньше хранил их в коде — исправлено). Репозиторий приватный, показана архитектура.