buzz-rss/base-config.yaml
eddy 5d75f490fc v1.3.0: paywall-filter (Telegraaf/NHD premium) + staking-fix
- exclude_paywalled config (default true): verwijdert feedparser-entries met
  <premium>true</premium> vóór opslag (Telegraaf en NHD markeren dit; AD/
  Parool/Trouw/VK/NRC niet)
- v8-migratie: entry.paywalled BOOLEAN
- staking-fix (v1.2.3): losse 'staking/stakingen' uit filter; alleen ov-
  specifiek: ov-staking, bus/tram/metro/spoor/conducteurs-staking,
  'openbaar vervoer'
- config-proof: match_filter altijd enkelregelig YAML
2026-09-05 20:18:13 +02:00

26 lines
No EOL
2 KiB
YAML

# Feed update interval in minutes
update_interval: 60
# Maximum backoff in minutes when failing to fetch feeds (defaults to 5 days)
max_backoff: 7200
# How many feeds to poll in parallel? Set to 0 to disable limit.
poll_parallelism_limit: 10
# The time to sleep between send requests when broadcasting a new feed entry.
# Set to 0 to disable sleep or -1 to run all requests asynchronously at once.
spam_sleep: 2
# The prefix for all commands
# It has to be prefixed with ! in matrix to be recognised
command_prefix: "rss"
# Default post notification template for new subscriptions
notification_template: "New post in $feed_title: [$title]($link)"
# Should non-admin users be allowed to set regex filters to drop posts from feeds?
# Regexes are dangerous and may lead to DoS attacks.
allow_filter: false
# Exclude paywalled articles (Telegraaf/NHD markeren dit met <premium>true</premium>)
exclude_paywalled: true
# Global match filter (whitelist): applies to ALL feeds in this instance.
# A post is ONLY sent when the regex matches the title OR the (HTML-stripped) summary.
# Set it live with `!rss set-filter <regex>`. Empty = send everything.
match_filter: "(?i)\\b(?:ns|arriva|qbuzz|connexxion|cxx|transdev|keolis|ret|gvb|ebs|htm|syntus|breng|u-ov|allgo|flixbus|blauwnet|r-net|valleilijn|waterbus|eurostar|thalys|randstadrail|gvu|ov)\\b|\\b(?:bus|tram|metro)(?:halte|haltes|lijn|lijnen|station|stations|verkeer|net|staking)?\\b|\\btrein(?:en|verkeer|stel(?:len)?|staking|ongeluk|reizigers?|station|stations)?\\b|\\b(?:spoorweg|spoorbaan|spoorlijn|spoorverkeer|spoorwegovergang|spoorstoring|perron|perrons|overweg|overwegen|seinstoring|wisselstoring|sein|ontsporing|ontspoord|spoorstaking)\\b|\\b(?:openbaar vervoer|dienstregeling|reizigers?|inchecken|uitchecken|pont|ponten|lightrail|pendelbus|shuttlebus)\\b|\\b(?:ov-chipkaart|chipkaart|ovpay|ov-pay|reisproduct|studentenreisproduct|vervoersbewijs|vervoerbewijs|opwaarderen)\\b|\\b(?:ov-staking|conducteursstaking)\\b"
# Users who can bypass room permission checks
admins:
- "@user:example.com"