napitki133.ru - автопубликация материалов сайта в шесть каналов — превью
Кейсы
Telegram-бот Автоматизация Контент-завод AI-агент

napitki133.ru - автопубликация материалов сайта в шесть каналов

Бот берет материалы из библиотеки сайта, переписывает под канал и публикует по расписанию в трех каналах Телеграма и трех MAX.

Клиент napitki133.ru
Срок 3 недели
Стек Python · aiogram · MAX API · OpenRouter · APScheduler
Результат Сайт перестает быть архивом - контент регулярно возвращается к аудитории, повторы контролируются, расписание меняется в Гугл-таблице.
  • остается только на сайте выходит в шести каналах
    Один материал
  • вручную по площадкам по расписанию
    Публикация
  • не контролировались интервалы задает владелец
    Повторы

Проблема

Проблема

На сайте уже была большая библиотека рецептов и полезных материалов, но без регулярной дистрибуции она редко возвращала аудиторию.

Задача

Сайт napitki133.ru — это большая библиотека: рецепты напитков, лайфхаки, путеводители, подкасты, радио, магазин. Сотни материалов по нишам. Но весь контент существовал только на сайте — в Telegram и MAX не было ничего, аудитория не получала напоминаний, публикация шла вручную или не шла вовсе.

Задача: построить автоматическую контентную систему, которая сама выбирает материалы, переписывает их через ИИ, распределяет по 3 тематическим каналам и публикует по расписанию — без участия редактора.

Это не RSS-бот и не новостник. Бот — это умный ротатор: работает с библиотекой как с вечнозелёным контентом, берёт как новые, так и старые материалы, не зацикливается, не повторяется слишком часто.

Архитектура системы

napitki133.ru (WordPress/WooCommerce)
  → Индексатор (WordPress REST API)
    → Каталог материалов (SQLite)
      → Планировщик (APScheduler)
        → Логика выборки (по кругу / вразнобой)
          → ИИ-генерация текста (OpenRouter)
            → Telegram (aiogram 3)
            → MAX (maxapi)
              → Лог публикаций (SQLite + Google Sheets)

Бот периодически обходит разделы сайта по WordPress REST API (/wp-json/wp/v2/posts?categories=XX) и сохраняет полный каталог материалов. Новые публикации на сайте автоматически попадают в ротацию при следующей индексации. Маппинг категорий — из Google Таблицы, заказчик меняет без правки кода.

Маппинг контента по каналам

Каждый раздел сайта жёстко привязан к своему каналу:

Раздел сайтаКанал
Лайфхаки (50+ подкатегорий: лайфхаки абсента, вина, кофе, настойки…)ЛАЙФХАКИ
Библиотека путеводителей (Таиланд и др.)Путешествия
Напитки всех категорий: виски, коктейли, чай, кофе, смузи, пиво и т.д.НАПИТКИ
Магазин — классические путеводителиПутешествия
Магазин — рецепты напитковНАПИТКИ
Магазин — рецепты блюдЛАЙФХАКИ
Интернет-радиоротация по всем трём
Аудио подкасты, аудио статьи, reelsротация по кругу

Итого: 6 точек публикации — каждый из 3 каналов работает одновременно в Telegram и MAX.

6 режимов работы

Бот умеет переключаться между режимами по расписанию:

А. Основной контент — 2 поста в день в каждый канал: утром и вечером. Материал — из каталога сайта по маппингу. ИИ переписывает под формат канала.

Б. Реклама магазина — раз в неделю в каждый канал уходит нативная подводка к товару/книге из WooCommerce. Мягкий формат: что это, кому пригодится, зачем.

В. Перекрёстная реклама — раз в неделю один канал нативно анонсирует другой. Без «подпишитесь», только интерес.

Г. Реклама сайта — раз в неделю во всех каналах с разным углом подачи: не копипаст одного текста.

Д. Реклама радио — раз в неделю, ротация каналов. Каждый раз новое настроение: вечер, дорога, дождь, кофе.

Е. Ротация аудио/видео — подкасты, аудио статьи и reels по кругу: 1→Путешествия, 2→Лайфхаки, 3→Напитки, потом снова. Раз в неделю, 1 канал.

Умная выборка и антидубли

Дата публикации на сайте — не главный критерий. Бот работает с контентом как с вечнозелёной библиотекой.

Комбинированный режим выборки: из каталога раздела исключаются недавно использованные материалы, из оставшегося пула выбирается следующий — по кругу, псевдослучайно или по заданному проценту смешивания. Режим настраивается в Google Таблице для каждого раздела отдельно.

Ограничения повторов хранятся в базе и настраиваются:

ПараметрПо умолчанию
Не повторять материал раньше чем через N дней14 дней
Не повторять товар магазина раньше чем через N дней21 день
Не брать 2 материала из одной подкатегории подрядвключено

Бот хранит полную историю публикаций: что постили, куда, когда, какой текст был сгенерирован. Если всё в пуле «недавно» крутилось — пропускает слот и логирует причину.

Управление через Google Таблицу

Заказчик управляет всем без правки кода:

ЛистСодержимое
МаппингКатегория WordPress → канал; редактируется в любой момент
РасписаниеЧасы публикаций для каждого из 3 каналов
ЧастотыКак часто магазин, сайт, радио, кросс-промо
ПромптыСистемные промпты ИИ для каждого канала и типа контента
КаналыID каналов в Telegram и MAX
НастройкиРежим выборки, лимит повторов, интервалы, модель ИИ
ИсторияЛог публикаций (заполняется ботом автоматически)

Под капотом

Python 3.11+ — основной язык. aiogram 3 — публикация в Telegram. maxapi — публикация в MAX. APScheduler (AsyncIOScheduler) — всё расписание: основной контент, еженедельные режимы, индексация сайта. SQLite + aiosqlite — каталог материалов, история публикаций, счётчики ротации. gspread — чтение настроек из Google Таблицы. httpx — запросы к WordPress REST API и WooCommerce. OpenRouter — генерация текста; если API недоступен, fallback: публикуется заголовок + первые два предложения + ссылка. pydantic-settings — конфигурация из .env. Деплой на VPS через systemd с автозапуском.

Результат

ПоказательДоПосле
Публикации в мессенджерахВручную по площадкамПо общему расписанию
Точки публикацииТолько сайт3 канала Телеграма и 3 канала MAX
Участие редактораТребуется на каждый постУправляет правилами и исключениями
Повторы контентаНе контролировалисьУправляемые интервалы
УправлениеПравка кодаГугл-таблица
ФорматыТолько основной контент6 режимов: контент, магазин, радио, кросс-промо

Библиотека сайта регулярно возвращается к аудитории по расписанию и правилам заказчика.

Все круто!

— Виталий Сибилев, Napitki133.ru
Итог

Сайт перестает быть архивом - контент регулярно возвращается к аудитории, повторы контролируются, расписание меняется в Гугл-таблице.

Следующий кейс

Росток - ИИ-конвейер статей для Дзена

AI-конвейер для SEO-статей питомника: Wordstat, граундинг, черновик, брендовый тон, обложки и публикация в Telegram по расписанию.