Опрос RSS

:discourse2: Описание Позволяет автоматически импортировать контент из RSS/ATOM-лент на ваш сайт Discourse в виде тем
:open_book: Руководство по установке Этот плагин входит в состав ядра Discourse. Отдельная установка плагина не требуется.

В этой документации описывается, как настроить и использовать плагин RSS Polling для автоматического импорта контента из RSS-лент в ваше сообщество Discourse в виде тем.

:discourse2: Примечание: Discourse RSS Polling доступен в тарифных планах Pro, Business или Enterprise.

Настройка RSS-лент

Чтобы включить плагин, перейдите в раздел Администратор → Установленные плагины, найдите плагин RSS Polling и включите переключатель.

После включения нажмите кнопку Настройки, а затем кнопку Добавить ленту, чтобы настроить первую ленту.

Вам потребуется указать следующую информацию:

  • URL ленты: URL RSS или Atom ленты для импорта.
  • Фильтр категории (необязательно): Ограничивает импорт элементов ленты на основе метаданных их категории. В Discourse будут импортированы только те элементы, категория которых совпадает с указанным вами значением. Например, если лента содержит элементы с несколькими категориями, вы можете ввести конкретный термин категории, чтобы импортировать только соответствующие элементы.
  • Автор: Существующий пользователь Discourse, который будет указан как автор всех тем, импортированных из этой ленты.
  • Категория: Категория Discourse, в которой будут опубликованы импортированные темы.
  • Теги: Один или несколько тегов, которые будут применены ко всем темам из этой ленты.

Нажмите Сохранить, чтобы добавить ленту.

🎥 Типичный пример: Ленты YouTube

Импорт плейлиста YouTube

Используйте конечную точку RSS-ленты YouTube для плейлистов:

https://www.youtube.com/feeds/videos.xml?playlist_id=<ID_ПЛЕЙЛИСТА>

Где <ID_ПЛЕЙЛИСТА> — это токен, найденный в URL плейлиста. Например, для следующего URL плейлиста:

https://www.youtube.com/playlist?list=PLxYzA1B2C3D4E5F6G7H8I9JkLmNoPqR

Правильный URL ленты будет следующим:

https://www.youtube.com/feeds/videos.xml?playlist_id=PLxYzA1B2C3D4E5F6G7H8I9JkLmNoPqR

Импорт канала YouTube

Используйте формат RSS-ленты для канала:

https://www.youtube.com/feeds/videos.xml?channel_id=<ID_КАНАЛА>

Вы можете найти channel_id на YouTube в разделе Расширенные настройки для канала.

:warning: Использование стандартного URL канала, URL имени пользователя или пользовательского URL канала напрямую не сработает. Плагин RSS Polling требует явного формата URL ленты с channel_id.

Тестирование лент

Перед сохранением новой или отредактированной ленты нажмите кнопку Тестировать ленту, чтобы получить и проанализировать ленту без импорта. Вы увидите:

  • Сводное количество элементов, которые будут импортированы, уже импортированы или будут пропущены.
  • Построчную разбивку первых элементов ленты, каждый с объяснением на простом языке, почему он будет импортирован или пропущен.

Это полезно для проверки вашей конфигурации — особенно фильтра категории — до того, как она повлияет на ваше сообщество.

Последние проверки

На странице редактирования любой существующей ленты в разделе Последние проверки отображаются последние несколько попыток проверки. Для каждой попытки показывается количество импортированных, обновленных, пропущенных и неудачных элементов. Вы можете развернуть любую попытку, чтобы увидеть подробную информацию по каждому элементу, включая ссылки на созданные или обновленные темы.

При нажатии кнопки Проверить сейчас результаты появляются в реальном времени без перезагрузки страницы.

Настройки

Вкладка Настройки содержит ссылки на соответствующие настройки сайта для RSS Polling.

Название Описание
rss polling feed request timeout Время ожидания (в секундах) перед отказом от медленного запроса ленты. По умолчанию 30 секунд.
rss polling verbose logging Включить подробное логирование для каждого элемента при каждой попытке проверки. По умолчанию выключено; полезно для устранения неполадок.
rss polling use pubdate Использовать исходную дату публикации из элемента ленты как дату темы, а не дату импорта.
rss polling update tags Обновлять теги темы при обновлении темы; если отключено, используются только начальные теги.

Управление видимостью тем

Предотвращение скрытия тем

По умолчанию встроенные темы скрыты до тех пор, пока на них не появится ответ. Чтобы предотвратить скрытие тем, импортированных из RSS:

  1. Перейдите в Администратор → Все настройки сайта.
  2. Найдите embed unlisted.
  3. Отключите эту настройку.

Отображение полного содержимого сообщения

Если включена настройка embed truncate (по умолчанию), темы из ленты будут отображать только отрывок. Чтобы показать полное содержимое:

  1. Перейдите в Администратор → Все настройки сайта.
  2. Найдите embed truncate.
  3. Отключите эту настройку.

Если полное содержимое сообщения по-прежнему отображается некорректно, настройте параметр embed whitelist selector, чтобы указать, какие HTML-элементы должны быть импортированы.

Распространенные проблемы

Лента не обновляется

  • Убедитесь, что URL ленты действителен и доступен публично.
  • Проверьте, не установлено ли значение rss polling frequency слишком высоким.
  • Убедитесь, что в ленте есть новые элементы с момента последней проверки.
  • Используйте кнопку Тестировать ленту, чтобы проверить, что видит плагин в ленте, не выполняя полную проверку.
  • Включите rss polling verbose logging для получения более подробной информации о том, что происходит во время каждой проверки.

Темы созданы с неверными датами

Включите настройку rss polling use pubdate, чтобы использовать исходную дату публикации из элемента ленты вместо даты импорта.

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

Удаление и повторное добавление одного и того же URL ленты не приведет к повторному импорту ранее обработанных элементов. Каждый элемент RSS импортируется только один раз.

Дополнительные ресурсы

45 лайков
RSS polling plugin ignores items’ pubDate
Make RSS Polling Post In A Specific Topic
Can you add a LinkedIn RSS feed to a "Topic"
Replace a string in all posts
Plugin to scrape news from other sites
RSS plugin default show full post
Is it possible to show the full post content by default?
Trouble with a RSS feed
What's the best way to build a pipeline to post scraped data into Discourse categories with custom tab-based themes?
Where to set up the RSS feeds?
Help with RSS Polling Plugin - Fetching Complete Content & Publishing Translated Content
Substack integration?
Automatically delete topics in a category if no reply within set period
Unlisted topics get sent on mailing list mode
Request a howto auto post from a RSS feed to a chat channel by eg. using make.com?
Adding new posts as replies to a single topic
RSS Polling setting to use pubDate to set the date of imported topics
Importing RSS feed items from specific as topic items
RSS Polling setting to use pubDate to set the date of imported topics
Embed comments from Discourse in your single page app
Topic Ratings Plugin
Conditionally Automating Posts for YouTube Videos
I'm unsure of how oneboxing is setup for blog posts to Discourse
Ability to post newsletter as topic in discourse
Auto-post Youtube videos?
RSS polling doesn't work since dec 2022
Unlisted topics - what are they
Topics Unlisted and 'Maximum number of posts to embed' not respected?
Having polled topics only appear if a user wants to see them?
Migrated my old custom-built trail-journal/blog to Discourse
Not public RSS Feed?
Option to close on import
Bundling more popular plugins with Discourse core
Adding an RSS feed as topics in my site
Automatically post YouTube videos from a certain channel?
Automatically post YouTube videos from a certain channel?