Начинаю автоматизировать тг-канал. Режим обезьяны: Telethon+n8n+ChatGPT
Всем привет! Продолжаю делать грязь с телеграм-каналом: почти заработала автоматизация, поменял промт.
Сервер и инфраструктура.
Я хоть и не айтишник, понимаю, что у всей системы должен быть сервер. По старой памяти выбрал QWINS:
- Сервера за пределами РФ – не будет проблем с сервисами что я использую;
- Можно платить и криптой и просто картой РФ – при любом раскладе можно будет продлить подписку;
Итак, сервер куплен, ЫЫ говорит устанавливать:
- Node.js – нужен для n8n;
- Python для Telethon — второй парсит Telegram;
- n8n — workflow-конструктор, который будет менеджерить сложные процессы без кода;
- SQLite – база чтобы хранить логи, настройки, список каналов.
(Хотя, на мой дилетантский взгляд, решение gpt устанавливать SQLite – совершенно лишнее телодвижение, мы не спорим с машиной.)
Telegram-бот на Telethon.
Следующим шагом стал "бот", который умеет читать чужие каналы. Я получил API Telegram на один из своих аккаунтов в тг, и теперь бот авторизуется как пользователь, считай я, видит все посты. Он слушает несколько криптоканалов и отправляет на созданный webhook n8n.
n8n Workflow — мозг системы.
Тут начинается магия. В n8n я создал workflow с webhook-входом. Когда бот видит пост, он делает `POST` на этот URL с телом:
(Или типа того, это написал ЫЫ)
Дальше в n8n идёт узел OpenAI GPT-4.1, который прогоняет контент по моему кастомному промту из первого поста на VC. GPT возвращает переработанный пост, но пока только в n8n, потому что я еще не доделал бота в тг, куда будет присылаться результат. Я подумал, что это будет самый удобный вариант:
- Результат пришел в тг;
- Я его там же проверил;
- Там же опубликовал.
Где всё пошло не по плану.
n8n цеплялся к `localhost` в той вкладке, где public url.
Когда я запустил webhook, система упорно слушала только `127.0.0.1`. То есть бот слал запросы — а сервер их не видел. Я перепробовал всё:
- Прописывал `WEBHOOK_URL_BASE` вручную;
- Менял systemd конфиг;
- Чистил SQLite настройки,
В итоге снес весь сервер. На второй вечер наконец получилось!
Решение: прописать реальный IP сервера в `/etc/environment` и перезапустить n8n с `sudo systemctl restart n8n`. После этого webhook ожил – "Workflow was started". Ура!
Изображения всё ещё не передаются.
Пока тексты и ссылки приходят стабильно, но картинки пока не доходят до n8n. Причина — Telethon требует отдельный парсер для `photo` объекта. В планах ChatGPT добавить загрузку через `bot.download_media()` и вложить base64 в JSON.
Вывод результатов в Telegram.
Сейчас всё хранится в логах, но следующий шаг — автоматическая отправка обработанных постов в черновой канал Telegram, где я смогу все проверить и нажать “Опубликовать”.
Неожиданные открытия по пути.
В какой-то момент хостинг перестал давать SSH-доступ. Пришлось поднимать всё с нуля. С тех пор бэкаплю `~/.n8n` и `.session` перед выходом. Еще n8n иногда забывает, что он не localhost. Помогает только полное удаление кэша и `systemctl daemon-reload`. После пары вечеров понял, что главное уметь гуглить и каждый шаг подтверждать в ChatGPT.
Что дальше?
- Автоматический сбор медиа – чтобы итоговые посты не выглядели как скучный текст;
- Создание бота-прокладки – чтобы n8n отправлял итоговые посты в канал для редактуры;
- Автоопределение типа поста (новость, кружок, голосовое) и собирать посты в группу по каналам – чтобы не делать миллион коротких постов, а объединять все в один, но содержательный.
- Сделать "Docker-контейнер" – чтобы можно было развернуть одной командой если что-то пойдет не так.
Промежуточный итог.
Сейчас система:
- Собирает посты из криптоканалов;
- Обрабатывает их через GPT-4.1;
- Выдаёт форматированный, читабельный контент;
- Работает автономно на сервере 24/7.
Что я вынес из этого опыта:
- В режиме обезьяны пока можно работать. Но потом мне пригодится помощь специалиста;
- На 1000 бед – один ресет;
- ЫЫ прекрасно структурирует контент, но всегда нужно адаптировать промты.
Спасибо, что дочитали! Если тема вам близка — подписывайтесь на этот канал из статьи – Суть Криптанов. Там я выкладываю короткие выжимки из постов крипто-инфлюенсеров. Пока еще вручную. Следите в реальном времени как все развивается! А если у вас есть идеи как что-то улучшить или сделать более элегантно, пожалуйста, поделитесь!