rss2irc: watches an RSS/Atom feed and writes it to an IRC channel
This bot polls a single RSS or Atom feed and announces updates to an IRC channel, with options for customizing output and behavior. It aims to be a simple, dependable bot that does its job and creates no problems.
Usage: rss2irc FEEDURL [BOTNAME@IRCSERVER/#CHANNEL] [OPTS] Options: -p PORT --port=PORT irc server port (default 6667) --ident=STR set the bot's identity string (useful for contact info) --delay=N wait for N minutes before starting (helps avoid mass joins) -i N --interval=N polling interval in minutes (default 5) --idle=N announce only when channel has been idle N minutes (default 0) -m N --max-items=N announce at most N items per polling interval (default 5) -r N --recent=N announce up to N recent items at startup (default 0) --announce=topnew|allnew|top which items to announce (default: topnew) --no-title don't show title (title is announced by default, up to 100 chars) -a --author show author (up to 50 chars) -d --description show description (up to 300 chars) -l --link show link URL (up to 200 chars) -t --time show timestamp (up to 50 chars) -e --email show email addresses (stripped by default) -h --html show HTML tags and entities (stripped by default) --dupe-descriptions show identical consecutive descriptions (elided by default) --replace="OLD/NEW" replace OLD with NEW (regexpr patterns) -n N --num-iterations=N exit after N iterations -q --quiet silence normal console output --debug do not connect to irc (same as no irc argument) --debug-irc show irc activity --debug-feed show feed items and polling stats --debug-xml show feed content --debug-http show feed fetching progress
For example, to announce Hackage updates:
rss2irc http://hackage.haskell.org/packages/archive/recent.rss firstname.lastname@example.org/#haskell
Release notes for 0.4.2, 2009-09-27:
fix a bug where every --max-items-th announcement was skipped
Release notes for 0.4.1, 2009-09-26:
fix release notes issues
Release notes for 0.4, 2009-09-26:
wait for server connection confirmation before JOIN command. Problem was observed on irc.quakenet.org since it refuses to join or any commands before connection is confirmed by server. (Radoslav Dorcik)
feed polling now recovers from transient failures
can poll a local file: uri as well as remote uris. Works if the uri is of the form "file:FILE", at least. Useful for testing and eg for announcing a feed generated from a darcs posthook.
more robust new item detection, with some alternate strategies available via the --announce option. The choices are: topnew - new unseen items at the top (default, good for most feeds); allnew - new unseen items anywhere; top - any items above the previous top item.
--idle option, waits for N minutes of channel idle time before announcing
limit individual field sizes, preventing too many irc messages per item. Most announcements should now fit in one irc message, and pretty much all should fit in two.
misc. output improvements: elide identical consecutive item descriptions, split long announcements on a word boundary, try to complete a split announcement within a batch, better whitespace handling
--delay now takes minutes, not seconds
|Versions||0.1, 0.2, 0.3, 0.4, 0.4.1, 0.4.2, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.1|
|Dependencies||base (>=3 && <5), extensible-exceptions (==0.1.*), feed (==0.3.*), haskell98, HTTP (>=4000.0.3 && <4000.1), irc (==0.4.*), mtl (==1.1.*), network (==2.2.*), parallel (==1.1.*), regexpr (==0.5.*), split (==0.1.*), strict-concurrency (==0.2.*), tagsoup (==0.6.*), time (==1.1.*) [details]|
|Author||Don Stewart <email@example.com>, Simon Michael <firstname.lastname@example.org>|
|Maintainer||Simon Michael <email@example.com>|
|Source repo||head: darcs get http://joyful.com/repos/rss2irc|
|Uploaded||by SimonMichael at Sun Sep 27 21:45:59 UTC 2009|
|Downloads||5045 total (41 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs not available [build log]
All reported builds failed as of 2016-12-31 [all 6 reports]
Hackage Matrix CI
For package maintainers and hackage trustees