Самостоятельно размещаемый веб-сервис для парсинга публичных Telegram-каналов, AI-переписывания постов через GPT и публикации в собственные каналы через Bot API. Один пользователь, один сервер, полный контроль над потоком контента.
🎯 Что даёт: перестаёшь копировать посты руками. Подключил каналы-источники → MegaParser собирает свежие посты → GPT переписывает их в твоём стиле → публикует в твои каналы автоматически.
| Часть | Технологии |
|---|---|
| Backend | FastAPI · SQLAlchemy async · Alembic · Telethon · Python 3.11+ |
| Frontend | React 18 · Vite · TypeScript · Axios |
| База | PostgreSQL 14+ |
| AI | OpenAI GPT-4o для переписывания постов |
| Публикация | Telegram Bot API (sendMessage / sendPhoto / sendMediaGroup) |
- Python 3.11+
- Node.js 18+
- PostgreSQL 14+
- Telegram API credentials —
api_idиapi_hashс my.telegram.org - Telegram Bot Token от @BotFather (бот должен быть администратором во всех твоих целевых каналах)
- OpenAI API key с platform.openai.com
git clone https://github.com/Dimks777/megaparser.git
cd megaparserCREATE DATABASE telegram_parser;cp .env.example .envОтредактируй .env и заполни значения:
| Переменная | Описание |
|---|---|
TELEGRAM_API_ID |
api_id приложения с my.telegram.org |
TELEGRAM_API_HASH |
api_hash приложения с my.telegram.org |
TELEGRAM_BOT_TOKEN |
Токен бота от @BotFather. Бот должен быть администратором во всех целевых каналах |
OPENAI_API_KEY |
API-ключ с platform.openai.com |
DATABASE_URL |
Строка подключения PostgreSQL, например postgresql+asyncpg://user:password@localhost:5432/telegram_parser |
ALLOWED_USER_ID |
Твой числовой Telegram user ID (узнай через @userinfobot). Только этот пользователь может войти |
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
alembic upgrade head
uvicorn main:app --reload --port 8000cd frontend
npm install
npm run devОткрой http://localhost:5173 — увидишь страницу входа.
- Войди через номер телефона Telegram (QR-код или SMS — твой выбор)
- Добавь свои целевые каналы в разделе «Мои каналы» — это те, куда будут публиковаться переписанные посты
- Добавь каналы-источники и привяжи их к своим целевым каналам (один источник может писать в несколько целевых)
- Нажми на источник → «Получить посты» — парсер стянет последние публикации
- Нажми на пост → «Переписать с AI» → отредактируй при желании → «Опубликовать»
- Пост уходит в твой целевой канал через Bot API
Готовые конфиги для Linux-сервера в папке deploy/:
nginx.conf— Nginx reverse proxy с SSLmegaparser.service— systemd-юнит для бэкендаdeploy.sh— скрипт дляgit pull+ сборка + рестарт
# Сборка фронтенда для продакшена
cd frontend && npm run build
# Запуск бэкенда через uvicorn (1 воркер, только localhost)
cd backend && uvicorn main:app --host 127.0.0.1 --port 8000 --workers 1Nginx проксирует наружу: / → статика из frontend/dist, /api/* → бэкенд 127.0.0.1:8000.
backend/
main.py # FastAPI приложение, запуск, CORS
config.py # Pydantic настройки из .env
models.py # SQLAlchemy модели
database.py # Async engine + session
telegram_client.py # Telethon MTProto клиент (парсинг, медиа)
bot_publisher.py # Bot API паблишер
ai_rewriter.py # Переписывание через OpenAI GPT-4o
routers/
auth.py # Вход по телефону, QR, управление сессией
channels.py # CRUD каналов и источников
posts.py # Список постов, AI, публикация, отклонение
admin.py # Эндпоинты админ-панели
alembic/ # Миграции базы данных
frontend/
src/
pages/ # Login, Dashboard, Admin
components/ # Sidebar, PostCard, PostEditor
api/client.ts # Axios клиент
deploy/ # Nginx, systemd, deploy-скрипт
- Single-user mode — только один пользователь может войти (указан в
ALLOWED_USER_ID). Никто другой не получит доступ даже если узнает адрес - MTProto session хранится локально в зашифрованном виде
- Bot Token живёт только в
.envи памяти процесса, наружу не уходит - OpenAI key — аналогично, только в
.env - Nginx reverse proxy с SSL (Let's Encrypt) обязателен для прода
| Репо | Что это |
|---|---|
| 🤖 Dimks777/aiclub | Полная Фабрика Контента — 5 AI-агентов |
| 🐹 Dimks777/aiclublight | Lite-версия — 1 координатор + 5 скиллов |
| 📊 Dimks777/content-factory | Контент-завод — веб-дашборд для 8 соцсетей |
| 🧠 Dimks777/awesome-claude-skills | 81 скилл для Claude Code |
MIT License — свободно используй, модифицируй и распространяй. См. LICENSE.
🐹 Часть проекта humster.club — клуб AI-энтузиастов и инвесторов InvestClub.
💬 По вопросам: @algot888