Хочу поделиться опытом создания персональной системы публикации в Телеграм, Твиттер и Линкедин, которую я смог сделать для себя.
Идея подобного сервиса давно крутилась в голове и даже были попытки использовать разные платные инструменты-планировщики контента для постинга в социальные сети, но все они не укладывались в мой процесс.
Так сложилось, что бОльшую часть новостей я узнаю из Телеграма, я подписан на огромное количество каналов и это уже как ежедневный ритуал - почитать ленту новостей, особенно про AI, куда ж без него в наши дни.
Сначала я пересылал “самые-самые” новости в Saved Messages, но очень скоро стало понятно, что там они все и остаются и только захламляют. Пришлось потом писать на питоне скрипты, которые вытащили все эти сохраненные сообщения, уложили в базу, категоризировали и подготовили для AI, но это другая история.
Следующим этапом стал личный канал, в которые я такие сообщения просто форвардил, стало значительно удобнее искать, в голове четко срабатывал триггер “где-то я это видел и было интересно, а значит я его точно добавил в канал, надо искать в канале”.
Для удобства развернул свой собственный HyperTag (https://github.com/Mostafa-Abbasi/HyperTAG), который позволяет автоматически добавлять теги и саммари для постов в Телеграме.
Первый подход к снаряду я опробовал на Хакатоне, я подал заявку и описал, что хочу сделать AI агента для автоматического постинга в соц сети. Возможно, я бы пропустил дедлайн, если бы Cole Medin (один из организаторов и основатель Ottomator) не написал мне письмо и выразил интерес в таком продукте. Пришлось засучить рукава и приняться за работу, что что планировалось на недели пришлось сделать за несколько дней. По условиям Хакатона необходимо было предоставить открытый код и выложить агента на платформу. Исходный код того агента до сих пор доступен тут -https://github.com/pcherkashin/ai-tweet-generator
Мой агент занял скромное 14-е место, на тот момент на платформе нельзя было реализовать функционал хранения личных ключей, поэтому выложил версию, которая принимала на вход запрос юзера, AI генерил 3 варианта драфта и добавлял это данными из веб через Brave search API. Таким уже сильно никого не удивишь.
Получив фидбек от других людей, что им такое было бы интересно, решил все-таки довести идею до конца.
Основные требования выглядели так:
- Система должна была принимать на вход форварднутые сообщения от разных телеграм каналов, с возможностью, конечно же, написать (или наговорить) свой текст.
- Далее отправляем это AI, генерим драфты для Телеграма, Твиттера и Линкедина в разых форматах по своим правилам, для каждого свой настраиваемый промпт.
- Драфты прилетают в админский чатик, где юзер может отредактировать и подтвердить отправку или отменить.
- Еще не плохо было бы иметь интерфейс с аналитикой и планировщиком постов.
Для меня было важно оставить “человека посередине”, чтобы иметь возможность посмотреть “что же там нагенерил AI”, и конечно же хотело иметь возможность подправить драфт и уже потом постить.
Технический стек:
Frontend
Framework: Next.js 15.2 with App Router
UI Components: shadcn/ui components with Tailwind CSS
State Management: React's built-in state and Context API
Authentication: Better Auth for secure login and future role-based access
Backend
Framework: Node.js with Express
Database: PostgreSQL for relational data, Qdrant for vector search
ORM: Prisma for database interactions
AI Integration: OpenAI API for content analysis and draft generation
Social Media APIs: Telegram Bot API, X API, LinkedIn API
Серверная часть завелась без проблем, основные трудности, очевидно, были в API сервисов X и LinkedIn. Посты в Телеграм улетали на ура (в файле .env надо только прописать ID чатов/каналов и добавить бота-админа), для X и LinkedIn надо создать отдельные приложения на портале для разработчиков, получить кучу ключей и не забыть прописать URL для коллбеков. Дольше всего пришлось повозиться с LinkedIn.
Итог
Система работает как задумывалось, можно форвардить или писать или наговаривать текст своему телеграм боту, он отправляет это в AI, AI генерит драфты по правилам (промптам), которые можно адаптировать под стиль автора, добавляет теги, можно также добавлять релевантные актуальные ссылки на источники (через Perplexity API или Web Search API). Юзеру эти драфты прилетают в админский чатик, в котором он может заапрувить или отменить публикацию. Самые жесткие ограничения в Твиттера/X - можно отправлять не более 100 сообщений в месяц, 1 сообщение в 15 минут на бесплатном аккаунте.
Как это выглядит
Запрос юзера текстом
Драфт для X, для Телеграма и для Линкедина выглядят также
Сейчас в процессе работа над фронтендом и все-таки хочется добавить функционал планировщика отправки постов.
Если кому-то интересны детали и подробности, с удовольствием отвечу на вопросы. Также если готовы подключиться к проекту буду очень рад. Пишите на почту pcherkashin@gmail.com, Телеграм @pcherkashin или LinkedIn https://www.linkedin.com/in/pcherkashin/
Вот мне интересно финансовый вопрос.
Но с нюансами:
Стоит это удовольствие примерно 50 баксов в месяц. Но, так как я его ещё загружаю другой рутинной работой, то у меня выходит побольше.
При этом не надо платить за хостинг приоложух. Плюс, можно не париться по поводу стиля оформления и заморочек с АПИ, поскольку их тоже поправят.
Странно, учитывая что уже 2025 год, а человеческий труд всё равно проще автоматизаций. Вдвойне странно, потому что я сам занимаюсь ИИ автоматизациями и ввожу эти автоматизации в большие Б2Б.
На тему автоматизации публикаций. Я сейчас разработал небольшой проект, суть в том что в него можно добавить все свои соц сети и настроить автоматическую массовую публикацию постов в них.
Сейчас там 3 основные функции:
Из того что ещё планируется добавить:
Сейчас есть поддержка следующих сетей: Instagram, Threads, Twitter (x.com), TikTok, Woman.ru, Pikabu.ru, d3.ru, TenChat, LinkedIn, VC.ru, Reddit, LiveJournal, Medium, ответы маил.ру, Яндекс Дзен, Tumblr, BlueSky, VK, OK, Facebook, Teletype, Telegram канал, Pinterest, Quora, YouTube.
Делал не через API а при помощи Веб-скрейпинга через Selenium.
Идея топ, приду к тебе. Как раз есть задача автоматизировать постинг в N-ном числе каналов с задействованием сеток.