05автоматизация канала2026

Бот сам ведётновостной канал

Собирает новости, пишет пост, находит картинку и несёт черновик модератору. Человеку остаётся одно нажатие.

Pythonaiogram 3yt-dlpPillowSQLiteLLM

Пост канала: коллекция Champions 2026Пост канала: событие Alpha vs OmegaПост канала: массовые блокировки игроков

01Сбор: пять источников каждые пятнадцать минут

У каждого источника свой сборщик, на выходе — одинаковая запись: заголовок, текст, медиа, тип новости. Дубли отсекаются по отпечатку: одна новость с трёх сайтов даёт один черновик.

Сайт игры
читаются данные самой страницы, без разбора вёрстки; со статьи — до девяти картинок в полном размере
API данных игры
сравнение версий: новый набор или агент находятся раньше, чем о них напишут
YouTube
лента канала, ролик через yt-dlp, субтитры становятся текстом для пересказа
VLR.gg и спортивные медиа
турниры, результаты, трансферы
настоящий вывод сборщика · первый обход на чистой базе
$ python -m pipeline.probe

✓ playvalorant: получено 200 · первый опрос, всё помечено увиденным
   [esports] 2026-09-16T12:45 · Открытие Champions Shanghai · 🖼 1
   [trailer] 2026-09-16T12:35 · Если Солнце Сегодня Сгорит // VALORANT · 🖼 1
✓ valorant_api: получено 0 · первый опрос, всё помечено увиденным
✓ youtube: получено 15 · первый опрос, всё помечено увиденным
   [short] 2026-09-17T15:30 · Wingman explains the new Performance Score · 🖼 1
   [short] 2026-09-17T15:00 · Wingman explains the new game mode · 🖼 1
✓ vlr: получено 1 · первый опрос, всё помечено увиденным
   [news] 2026-09-14T16:00 · Riot introduces new rifle Warden in patch 13.06
✓ championat: получено 0 · первый опрос, всё помечено увиденным

Итого новых: 0 · источников с ошибкой: 0

02Текст: пишет модель, проверяют правила и редактор

пришло из источника

Spin set to leave Team Secret after Stage 2 stint

ушло модератору

Spin покидает Team SecretКонтракт тренера истекает, он ищет новую команду на сезон 2027 года.CODESPOT

правила, которые проверяет код

  • Пост про видео — только с видео
  • Патч — номер версии в первой фразе
  • Набор, агент, оружие — название в первой фразе
  • Источник в посте не называется
  • Турниры, карты, оружие — латиницей
  • Без эмодзи и хештегов
журнал и база бота: модель перегружена — черновик написала следующая
log 14:59:34 INFO  Run polling for bot @CodeSpotNewsbot
log 14:59:36 WARN  compose.llm: LLM gemini-2.5-flash HTTP 503:
                   "This model is currently experiencing high demand"
log 14:59:36 WARN  compose.llm: попытка 1: gemini-2.5-flash: HTTP 503
db  15:01:46 draft #36 · model gemini-3-flash-preview · published
db  15:02:51 draft #37 · model gemini-2.5-flash · pending
log 15:02:35 INFO  Update is handled. Duration 1560 ms

Модель подключена по общему OpenAI-протоколу и меняется одной строкой настроек: основная, запасная, следующая — цепочкой, если первая перегружена или кончилась квота. Канал уже менял поставщика модели — без правок кода.

После правил — второй проход модели в роли редактора: оценка от одного до десяти, порог восемь, одна переписка по замечаниям. Слабый черновик до человека не доходит.

03Медиа: пост без картинки не уходит

Пост канала: нож из коллекции
Пост канала: Phantom к Champions 2026
720p

трейлеры и обзоры скачиваются через yt-dlp в H.264 и ужимаются под лимит Telegram в 50 МБ

1920

картинки запрашиваются у сети доставки сразу в нужной ширине и формате

1 час

после публикации или отказа файлы удаляются с диска

04Модерация: человек решает одним нажатием

Пост канала: коллекция Champions 2026

черновик ждёт решения · кнопки рабочие

Черновик приходит модератору в личные сообщения ровно таким, каким выйдет в канале, а под ним три кнопки.

«Опубликовать» не шлёт пост сразу, а ставит в очередь: канал выдерживает паузу между постами, даже если одобрено пять подряд. «Переписать» возвращает текст модели. «Отказаться» закрывает новость навсегда.

05Канал и сервер: бот работает как служба

Пост канала: событие Alpha vs Omega
Пост канала: коллекция Champions 2026
Пост канала: массовые блокировки игроков
Пост канала: нож из коллекции
Пост канала: вышел патч 13.05
Пост канала: Phantom к Champions 2026
служба бота · фрагмент
[Service]
User=codespot-news
ExecStart=/opt/bots/codespot-news/.venv/bin/python -m bot
Restart=always
ProtectSystem=strict
ReadWritePaths=/opt/bots/codespot-news/data
Environment=HOME=/opt/bots/codespot-news/data

Бот живёт системной службой под отдельным пользователем в песочнице: писать может только в папку с данными, код и секреты ему недоступны для записи. После сбоя встаёт сам, версии библиотек закреплены.

Одна форма на всё — патчи, коллекции, турниры, трансферы: заголовок, фраза, пункты, подпись. Подпись в каждом посте ведёт в магазин.

дальше · 06Магазин одеждыПриложение для iOS и Android