Кросспостинг RSS-фидов в Telegram, VK и Max
RSS приходит — Crosslybot публикует. Новостной агрегатор без копий-вставок.
Как настроить
Создайте webhook input в Crosslybot
В разделе «Каналы → Webhook» создайте новый endpoint типа Inbound. Сохраните Bearer-токен. Привяжите к проекту с целями TG/VK/Max.
Выберите RSS-парсер
Варианты: 1) n8n RSS Feed Trigger (проще всего), 2) Cloudflare Worker с fetch RSS каждые N минут, 3) Python-скрипт на cron (feedparser библиотека), 4) специализированные сервисы — IFTTT, Inoreader API.
Маппинг RSS → Crosslybot payload
Каждая запись RSS (item) превращается в JSON-запрос. text = title + description, media = enclosure URL (если есть), external_id = item GUID (для idempotency). Опционально: добавьте кнопку «Читать дальше» с URL оригинальной статьи.
Дедупликация по external_id
RSS GUID уникален для записи. Передайте его в external_id или Idempotency-Key — Crosslybot не создаст дубликат если та же RSS-запись прилетит повторно (например, при сбое парсера).
Запустите автоматизацию
Cron каждые 15 минут → парсер → POST в Crosslybot для каждой новой записи → публикация в TG/VK/Max. Sequential queue гарантирует что посты идут в порядке RSS.
Возможности
Любой RSS / Atom / JSON Feed
Crosslybot принимает уже распарсенные данные — формат фида не важен. RSS 1.0, RSS 2.0, Atom, JSON Feed — обрабатывает ваш парсер на стороне источника.
AI-обработка для разных платформ
VK 15895 символов, TG 4096, Max 4000 — длинная статья из RSS не влезет одинаково. Crosslybot AI сжимает текст под лимит каждой цели (настройка resize в проекте).
Защита от спама дубликатов
Plain-text идентификатор записи (RSS GUID) превращается в external_id. Если RSS-фид содержит обновлённую запись с тем же GUID — Crosslybot не создаст дубликат поста.
Кнопка «Читать дальше»
Передайте в payload buttons URL оригинальной статьи: пользователь видит preview в TG/VK/Max, переходит на сайт-источник за полным контентом.
Частые вопросы
Подходит ли это для high-volume фидов (500+ записей в день)?
Да, для тарифов Maxi (1000 запросов/час) и Business (5000/час). Sequential queue корректно обрабатывает большие потоки. Учтите лимиты по постам в тарифе — на Pro+ это 1000+ постов в месяц.
Как обработать обновления RSS (item изменился)?
Crosslybot не редактирует уже опубликованные посты при повторном webhook'е (Idempotency-Key возвращает оригинальный ответ). Если нужно обновить пост — это отдельный сценарий, не покрывается webhook input. Используйте edit-механики платформ через Bot API (если позволяет ваш кейс).
Что если в RSS-записи нет media, только текст?
Это нормально, поле media опциональное. Crosslybot опубликует текст. В случае Telegram VK Max — текстовый пост работает на всех платформах.
Можно ли фильтровать какие записи публиковать (по тегам, авторам)?
Фильтр на стороне парсера (RSS читается → проверка условий → POST только подходящих записей). Crosslybot не фильтрует RSS — он принимает уже отобранные посты. Также можно использовать встроенный hashtag_filter цели Crosslybot.
Можно ли публиковать с задержкой (через час после появления в RSS)?
Да: 1) задержка через delay_minutes в настройках цели Crosslybot, 2) задержка на стороне парсера (подождать N минут перед отправкой), 3) Schedule Date в Notion-схеме если используете её как промежуточный слой.
RSS — старый, но живой стандарт распространения контента. Любой блог, новостной сайт, подкаст-площадка предоставляет RSS. Если хотите аккумулировать новости из десятка источников и публиковать в свои каналы — RSS-агрегатор с Crosslybot как backend выгоден: вы пишете только парсер, не три интеграции с социальными сетями.
Архитектура
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Site A │ │ Site B │ │ Site C │ │ Site D │
│ RSS │ │ RSS │ │ RSS │ │ RSS │
└────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘
│ │ │ │
└────────────┴────────────┴────────────┘
│
┌─────▼─────┐
│ RSS │ Cron каждые 15 мин
│ Parser │ (n8n / Worker / cron+python)
└─────┬─────┘
│ HTTP POST с дедупликацией по GUID
▼
┌─────────────────┐
│ Crosslybot │ AI обработка, фильтры,
│ Webhook Input │ подпись цели
└────────┬────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Telegram VK Max
канал сообщество канал
Маппинг RSS-item → Crosslybot payload
# Псевдокод парсера
import feedparser
import requests
feed = feedparser.parse('https://example.com/rss.xml')
for item in feed.entries:
payload = {
'text': f'{item.title}\n\n{item.summary[:500]}',
'external_id': item.id, # RSS GUID
'media': [
{'type': 'photo', 'url': enc.url}
for enc in item.get('enclosures', [])
if enc.type.startswith('image/')
],
'buttons': [[
{'text': 'Читать дальше', 'url': item.link}
]],
'metadata': {'source': feed.feed.title}
}
requests.post(
'https://wh.crosslybot.ru/v1/webhooks/{id}',
headers={
'Authorization': 'Bearer crossly_live_...',
'Idempotency-Key': item.id,
},
json=payload,
)
Преимущества Crosslybot для RSS-агрегатора
- Один HTTP-запрос вместо трёх (TG/VK/Max API)
- Дедупликация — повторный POST с тем же external_id безопасен
- AI-сжатие длинных статей под лимиты платформ
- Фильтр рекламы на уровне Crosslybot — отсеиваем рекламные RSS-записи
- Подпись источника автоматически добавляется к каждому посту
- Sequential queue — посты идут в порядке поступления, RSS-feed не перемешается
С чего начать
- Зарегистрируйтесь в Crosslybot (Pro+ для webhook input)
- Создайте webhook endpoint, привяжите к проекту с TG/VK/Max
- Напишите парсер RSS (n8n, Cloudflare Worker, Python-скрипт)
- Реализуйте маппинг item → payload (см. пример выше)
- Настройте cron / расписание парсера
- Используйте sandbox для проверки формата перед запуском
Webhook input доступен на тарифах Pro, Maxi и Business.
Готовы попробовать?
Подключите бота за 2 минуты. Бесплатный тариф — без карт и регистраций.