Skip to content

About

Локальная платформа автоматической публикации контента в Telegram-каналы с переписыванием текста нейросетью. Парсер, AI-рерайт, очередь постов, веб-панель.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Content Factory

Локальная платформа автоматической публикации контента в Telegram-каналы с подготовкой текста с помощью AI-модели.

Парсер забирает посты из каналов-доноров, переписывает их через AI (локальную модель или облачный API), маршрутизирует по тегам и публикует в целевые каналы. База данных, сессия Telegram и настройки хранятся локально. При использовании облачного AI текст отправляется выбранному поставщику, а опубликованные сообщения и медиа передаются в Telegram.

Windows release CI Python License

⬇ Скачать для Windows · Что внутри релиза


Возможности

Сбор контента Несколько каналов-доноров, защита от повторной публикации, обработка альбомов
AI-рерайт 9 локальных провайдеров (Ollama, LM Studio, AnythingLLM, LocalAI, llama.cpp, vLLM, GPT4All, KoboldCpp, text-generation-webui) + любой облачный OpenAI-совместимый API
Маршрутизация Маршруты «канал → теги». Пост уходит во все каналы с его тегами. Запасной тег общее
Ручная публикация Очередь постов: правка, отложенная публикация, отмена, просмотр медиа
Прокси SOCKS5 / SOCKS4 / HTTP / MTProto, импорт ссылки t.me/proxy
Панель управления Локальный веб-интерфейс, тёмная и светлая темы, адаптивная вёрстка
Журнал Полная история событий с расшифровкой кодов в разделе «Справка»
Безопасность Секреты шифруются Windows DPAPI и маскируются в панели
Самопроверка python main.py --check проверяет окружение и доустанавливает зависимости

Требования

  • Windows 10/11 и Python 3.11+ (для запуска из исходников)
  • Для сборки .exe: Python 3.11+ и PyInstaller 6+
  • Для AI: локальное приложение с моделью (Ollama, LM Studio и др.) или облачный API-ключ
  • Для Telegram: учётная запись Telegram и бот
  • ffmpeg — необязательно, но нужен, чтобы видео в форматах .mov, .mkv, .webm и анимированные .gif проигрывались в канале. Без него такие файлы уходят в чат как документы. Скачивается с ffmpeg.org, exe кладётся в PATH

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

Вариант 1. Готовый EXE (Windows)

  1. Скачайте Parser.exe из раздела Releases.
  2. Скопируйте в отдельную папку, например D:\ContentFactory\.
  3. Запустите двойным щелчком — откроется панель управления на http://127.0.0.1:8000/.

При первом запуске рядом с EXE появляются .env, bot_storage.db и рабочие папки.

Вариант 2. Из исходников

git clone https://github.com/Agro4221/-Content-Factory.git
cd .\-Content-Factory
python -m pip install -r requirements.txt
python main.py

Панель откроется на http://127.0.0.1:8000/.

Настройка

Всё настраивается в панели управления. Порядок:

1. Подключение → Telegram

Поле Где взять
Telegram API ID / API Hash my.telegram.org → API development tools
Bot Token @BotFather → /token
Каналы-доноры @username или числовой ID, по одному в строке

2. Маршруты

Добавьте маршруты «канал → теги». Одному каналу можно задать несколько тегов через запятую. Без маршрутов посты публиковаться не будут. Тег общее нужен как запасной маршрут — туда уходят посты, чьи теги не подошли ни к одному каналу.

Пост уходит сразу во все каналы, у которых есть его тег. Теги из ответа ИИ нужны только для выбора канала — в самом посте их не остаётся.

3. AI

  • Локально — выберите приложение, хост и порт подставятся автоматически. Список установленных моделей подгружается кнопкой «Показать модели».
  • Облачно — OpenRouter, DeepSeek, Groq или любой OpenAI-совместимый API.

4. Прокси (необязательно)

  • SOCKS5 / SOCKS4 / HTTP — применяются и к чтению, и к публикации;
  • MTProto — только к чтению каналов (Bot API прокси не поддерживает);
  • для MTProto можно вставить готовую ссылку t.me/proxy.

5. Запуск

Нажмите «Сохранить настройки», затем «Запустить парсер».

Как это работает

Каналы-источники
     │
     ▼
   Telethon
     │
     ▼
Фильтры и подготовка текста
     │
     ▼
   AI-рерайт
     │
     ▼
Маршрутизация по тегам
     │
     ▼
  Telegram Bot API → целевые каналы

Ручной режим

В разделе «Посты» можно переключить режим публикации на «Через очередь». Тогда посты не публикуются сразу, а попадают в очередь, где их можно:

  • править текст, теги и целевые каналы;
  • откладывать на дату и время — публикация произойдёт автоматически;
  • публиковать сразу;
  • отменять;
  • смотреть медиа.

Медиафайлы очереди хранятся локально и удаляются по настраиваемому сроку (1, 2, 3, 7 дней или без срока). Очистка доступна вручную из панели.

Безопасность

  • Секреты зашифрованы. Токен бота, ключи API и пароль прокси хранятся в bot_storage.db в виде блобов системного хранилища (Windows DPAPI), привязанных к учётной записи и к этому компьютеру. Перенос базы на другую машину делает их нечитаемыми — это ожидаемое поведение.
  • Панель не показывает секреты. Вместо значения отображается маска. Пустое поле при сохранении означает «оставить как есть», отдельная кнопка удаляет секрет.
  • Секреты не попадают в журнал, терминал и отчёты.
  • Сохранённый ключ не уходит на чужой адрес. Если поменять адрес облачного API или адрес прокси, ключ и пароль придётся ввести заново.
  • Панель доступна локально по умолчанию — она слушает 127.0.0.1. Аутентификации у панели нет: не выставляйте API_HOST на сетевой адрес и не пробрасывайте порт в интернет.
  • Панель защищена от чужих сайтов. Запросы с чужого адреса и без признака «пришёл из панели» отбрасываются, в панель включены защитные HTTP-заголовки, а документация API не публикуется.
  • Вторая копия приложения закрывается. Две копии делят файл сессии Telegram, и Telegram после этого требует вход заново.

Сборка EXE

python -m pip install -r requirements.txt -r requirements-dev.txt
python -m PyInstaller Parser.spec --clean

Результат: dist/Parser.exe. Подробности — в BUILD.md.

Релизы собираются автоматически: пуш тега вида v1.30.0.0 запускает workflow, который собирает EXE, прогоняет smoke-тест и публикует релиз с контрольной суммой SHA-256.

Разработка и проверка

python -m pip install -r requirements-dev.txt
python -m pytest -q tests          # автоматические тесты
python tools/check_frontend.py     # проверка панели
python tools/smoke_test.py         # проверка ресурсов и импортов

Карта функций панели — в docs/ADMIN_FUNCTION_MAP.md.

Участие в проекте

  • CONTRIBUTING.md — правила Pull Request и стиль кода
  • SECURITY.md — как сообщить об уязвимости и что нельзя коммитить в репозиторий
  • BUILD.md — сборка .exe
  • LICENSE — MIT

Структура проекта

main.py            основной цикл парсера и публикация
Site.py            веб-панель и API
database.py        SQLite: схема, миграции, шифрование секретов
config.py          настройки и пути
secrets_store.py   шифрование через Windows DPAPI
proxy_check.py     проверка прокси
startup.py         первый запуск и рабочие каталоги
admin.html         панель управления (самодостаточный файл)
tests/             автоматические проверки
tools/             служебные скрипты сборки и проверки

Требования к окружению

При первом запуске приложение само проверяет окружение и доустанавливает недостающие зависимости:

  • Python-пакеты (telethon, aiogram, fastapi, uvicorn, aiohttp, aiohttp-socks, python-dotenv) — ставятся через pip; если системный pip недоступен, создаётся локальное окружение .venv рядом с проектом и процесс перезапускается в нём;
  • база данных bot_storage.db — создаётся автоматически, схема поднимается до актуальной версии через миграции;
  • рабочие каталоги temp_media/ и queue_media/ — создаются при старте;
  • .env — создаётся из .env.example, если его нет.

Проверить окружение без запуска парсера:

python main.py --check

Команда покажет состояние зависимостей, базы, каталогов и прав доступа. В собранном .exe зависимости уже внутри — установка не требуется.

About

Локальная платформа автоматической публикации контента в Telegram-каналы с переписыванием текста нейросетью. Парсер, AI-рерайт, очередь постов, веб-панель.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages