В современном мире ИИ развивается с бешеной скоростью, помогая реализовывать низкоуровневые задачи, где-то даже заменяя самого специалиста. Несколько месяцев назад ко мне пришел друг - у него свой бизнес, он начал жаловаться, что ему не хватает времени вести рабочие соц. сети. И тут я задумался: а что, если попробовать автоматизировать процесс полностью? Уменьшить рутину, убрать человеческие ошибки и сделать ведение контента максимально лёгким.

Как всё начиналось:

У друга есть Telegram-канал, куда он выкладывает информацию о своём продукте. Посты выглядят просто: 2–3 фото, описание, призыв к действию, ссылка на сайт. Однотипно, скучно, но без этого нельзя.

Каждый пост — копипаст с небольшой правкой. Рутина, которая съедает время.

А если поручить это боту? Причём не просто автоматически постить, а генерировать уникальный контент под каждый продукт с помощью ИИ.


Почему не готовые сервисы?

Я рассматривал SMM-панели и конструкторы автопостинга. Но у них есть минусы:

  • шаблонные тексты, которые не цепляют

  • нельзя гибко настраивать промты

  • нет привязки к вашей таблице с планом публикаций

  • обычно платно и с ограничениями

Поэтому я решил написать своего бота.


Архитектура решения:

Google Sheets (план публикаций)

gsheet.py (парсинг)

generator.py (OpenAI API)

poster.py (Telegram Bot API)

scheduler.py (планировщик)

Стек:

  • python-telegram-bot — отправка постов

  • openai — генерация текста (GPT-4.1-mini)

  • google-api-python-client — чтение Google Sheets

  • asyncio + ручной планировщик — ежедневный запуск

  • python-dotenv — хранение токенов


Как это работает изнутри

1. Гугл-таблица — как CMS

Я создал таблицу с колонками:

Дата

Тема

Промт

Фото 1..7

Характеристики

Менеджер (или сам владелец) заполняет только: тему, промт, ссылки на фото и технические характеристики (если нужен товарный пост). Всё остальное делает бот.

2. Два режима генерации текста

В generator.py я сделал разделение:

Режим «каталог» (есть характеристики) — сухие данные превращаются в продающий пост:

Модель: Артикул Х
Размеры: 25×15 см
Материал: металл, матовое стекло
→ GPT превращает это в связный текст с эмоцией и призывом.

Режим «атмосфера» (нет характеристик) — чистый сторителлинг на заданную тему:

Тема: «Как цвет влияет на восприятие»
→ Генерируется 2–3 абзаца в лёгком, дизайнерском стиле.

3. Автохэштеги

Без хэштегов никуда. Функция build_hashtags() анализирует тему и характеристики, подбирает релевантные теги (например, #новинка, #обзор, #полезное). И добавляет фирменный хэштег бренда.

4. Telegram-публикация

Фото отправляются группой (до 7 штук), текст обрезается под лимит 1024 символа. Если фото нет — отправляется только текст.

5. Планировщик с московским временем

Готовые планировщики (schedule, apscheduler) не всегда корректно работают с часовыми поясами. Поэтому я написал свой scheduler_async() с ручным расчётом времени до следующего запуска (в конфиге задаётся время, например POST_TIME = "13:00").


Подводные камни, о которых молчат

Лимит caption в Telegram
1024 символа — мало. Пришлось писать функцию fit_to_caption(), которая аккуратно обрезает по точке или переносу строки, не разрывая слова.

GPT иногда врёт
Если в промте не запретить выдумывать характеристики — придумает несуществующие. В моём коде чётко написано: «Запрещено выдумывать характеристики, которых нет».

Google Sheets API — квота
Бесплатно 500 запросов в сутки. Для одного канала хватает, но если масштабировать — надо следить.


Результат: а нужен ли теперь контент-менеджер?

Спойлер: нужен, но его роль меняется.

Что делал раньше

Что делает бот

Придумывал текст поста

✅ Генерирует

Форматировал

✅ Форматирует

Добавлял хэштеги

✅ Подбирает

Публиковал вручную

✅ Постит по расписанию

Планировал контент

❌ Только человек

Человек остаётся стратегом: выбирает тему, ставит задачи ИИ, проверяет качество. А бот берёт на себя чёрную работу.

За месяц использования появилась регулярность публикаций, а вовлеченность выросла - потому что посты перестали быть шаблонными.


Исходный код

Весь код выложен на GitHub. Главные файлы:

  • config.py — настройки и переменные окружения

  • generator.py — работа с OpenAI

  • gsheet.py — чтение из Google Sheets

  • poster.py — отправка в Telegram

  • scheduler.py — ежедневный запуск


Вывод

Давайте подведем статью к какому-то логическому завершению. Не было изобретено ничего нового, это скорее я решил поделиться с вами мыслями про автоматизацию, как и в прошлой статье про "поиск в проектах". Все равно нельзя полностью исключить человека из данной цепочки, ИИ не заменит (хотя я уже везде добавляю слово "вряд ли"), вряд ли заменит человека.