{% extends "base.html" %} {% block title %} {{ feed.title if feed.title else feed.url }} | discord-rss-bot {% endblock title %} {% block description %} Review feed health, delivery settings, filters, webhook attachment, and update intervals for {{ feed.title if feed.title else feed.url }}. {% endblock description %} {% block content %}

{{ feed.title }}

{{ total_entries }} entries

{% if not feed.updates_enabled %}Disabled{% endif %} Current mode: {% if delivery_mode == "embed" %} Embed {% elif delivery_mode == "screenshot" %} Screenshot {% else %} Text {% endif %} {% if not "youtube.com/feeds/videos.xml" in feed.url %} Images: {% if media_gallery_image_limit == 0 %} No images {% elif media_gallery_image_limit == 1 %} First image only {% else %} Up to {{ media_gallery_image_limit }} images {% endif %} {% endif %} {% if delivery_mode == "screenshot" %} Screenshot layout: {% if screenshot_layout == "mobile" %} Mobile {% else %} Desktop {% endif %} {% endif %}

Feed Summary

This feed {% if feed.updates_enabled %} will send new entries {% else %} is paused and will not send new entries {% endif %} {% if current_webhook_name %} to {{ current_webhook_name }} {% elif current_webhook_url %} to a webhook that is no longer saved {% else %} after a webhook is attached {% endif %} as {% if delivery_mode == "embed" %} an embed. {% elif delivery_mode == "screenshot" %} a screenshot of the entry link page in {{ screenshot_layout }} mode. {% else %} a text message. {% endif %}

  • Update interval: {% if feed_interval %} {{ feed_interval }} minutes. {% else %} {{ global_interval }} minutes because of the global default. {% endif %}
  • {% if delivery_mode == "embed" %}
  • Embed images: {% if media_gallery_image_limit == 0 %} none. {% elif media_gallery_image_limit == 1 %} first image only. {% else %} up to {{ media_gallery_image_limit }} images. {% endif %}
  • {% elif delivery_mode == "screenshot" %}
  • Screenshot layout: {{ screenshot_layout }}.
  • {% endif %}
  • Filters: {% if has_blacklist_filters and has_whitelist_filters %} whitelist and blacklist are active; blacklist wins when both match. {% elif has_blacklist_filters %} blacklist is active. {% elif has_whitelist_filters %} whitelist is active. {% else %} no whitelist or blacklist filters are configured. {% endif %}
  • Updating the Discord webhook when the feed entry changes is {{ 'enabled.' if save_sent_webhooks else 'disabled.' }}
{% if feed.last_exception %} {% endif %}

Actions

Update
{% if not feed.updates_enabled %}
{% else %}
{% endif %} {% if not "youtube.com/feeds/videos.xml" in feed.url %} {% if delivery_mode == "embed" %}
{% elif delivery_mode == "screenshot" %}
{% else %}
{% endif %} {% endif %}
{% if not "youtube.com/feeds/videos.xml" in feed.url %}

Screenshot Delivery

{% if delivery_mode == "screenshot" %} Active: {% if screenshot_layout == "mobile" %} Mobile {% else %} Desktop {% endif %} {% else %} Inactive {% endif %}

Screenshot delivery sends a full-page screenshot of the entry link instead of the normal embed or text message.

{% if delivery_mode != "screenshot" %}
{% else %}
{% if screenshot_layout == "mobile" %}
{% else %}
{% endif %} {% endif %}
Screenshot mode requires Chromium to be installed for Playwright. Run uv run playwright install chromium once on this machine.

Image Delivery

{% if media_gallery_image_limit == 0 %} No images {% elif media_gallery_image_limit == 1 %} First image only {% else %} Up to {{ media_gallery_image_limit }} images {% endif %}

Choose 0 to send no entry images, 1 for the first image only, or up to {{ max_media_gallery_items }} for a Discord media gallery. This only affects embed delivery.

0 {{ max_media_gallery_items }}
{% endif %}

Customization

Feed URL

Webhook

{% if current_webhook_name %}

Current webhook: {{ current_webhook_name }}

{% elif current_webhook_url %}

This feed references a missing webhook. Choose a webhook below to reattach it.

{% else %}

No webhook is attached to this feed yet.

{% endif %} {% if webhooks %}
{% else %}

Add a webhook first to attach this feed.

{% endif %}
Sent webhook tracking: {{ 'Enabled' if save_sent_webhooks else 'Disabled' }}
View sent webhooks

Feed Information

Added: {{ feed.added | relative_time }}
Last Updated: {{ feed.last_updated | relative_time }}
Last Retrieved: {{ feed.last_retrieved | relative_time }}
Next Update: {{ feed.update_after | relative_time }}
Updates: {{ 'Enabled' if feed.updates_enabled else 'Disabled' }}

Update Interval

{% if feed_interval %} Custom {% else %} Using global default {% endif %}

Current: {% if feed_interval %} {{ feed_interval }} {% if feed_interval >= 60 %}({{ (feed_interval / 60) | round(1) }} hours){% endif %} {% else %} {{ global_interval }} {% if global_interval >= 60 %}({{ (global_interval / 60) | round(1) }} hours){% endif %} {% endif %} minutes

{% if feed_interval %}
{% endif %}
Rendered HTML content
{{ html|safe }}
{% if is_show_more_entries_button_visible %}
Show more entries
{% endif %}
{% endblock content %}