superbender the IRC notification daemon
superbender
has taken over from our faithful bot bender. It monitors RSS feeds and posts them in our chat.
superbender
lives on jojobe, runs as the user bender
and fully resides in /home/bender.
It runs sopel and the sopel-rss module.
It runs via systemd (/etc/systemd/system/bender.service) and can be restarted with:
systemctl restart superbender
superbender
's config files are in jojobe:/home/bender/.sopel.
It was setup by running the following commands from #mayfirst after it connected:
.rss add #mayfirst tickets https://support.mayfirst.org/timeline?ticket=on&ticket_details=on&sensitive_activity=on&max=10&daysback=1&format=rss .rss formats tickets f=fl+fatl .rss add #mayfirst nagios https://monitor.mayfirst.org/rss/all.xml .rss formats nagios f=fd+ftd .rss add #mayfirst service https://status.mayfirst.org/rss.xml .rss add #mayfirst wiki https://support.mayfirst.org/timeline?max=10&wiki=on&daysback=1&format=rss
Notes on configuration:
For both the tickets and the nagios feeds we alter the format (see sopel-rss for the full documentation). In short:
- For tickets, we change to f=fl+fatl from the default (f=fl+ftl). The last ftl in the original format means show the feed name, title, and link. We add "a" so we see the author too.
- For nagios, we change to f=fd+ftd. The f=fd determines how to create a hash so the reader knows if we have seen this item already. By default it uses the name of the feed and the link. But nagios has a broken rss feed that simply outputs the IP address of the service as the link - so we miss a lot of notices if we generate the hash from these fields. Instead, generate the hash from the feed name + feed description (which always contains a time stamp). Also, only show the feed name, title and description.
You can control it if you add your irc nick to jojobe:/home/bender/.sopel/default.cfg (the owner line) and then restart:
systemctl restart superbender
Upgrading
Now, with jojobe running jessie, sopel was installed by hand and dropped into /home/bender/. A symlink was created from "sopel" to the actual directory which has the version number as part of the name. To upgrade, download a new version and re-create the symlink.
When jojobe is upgraded to stretch, we can pull in the debian package, move the configuration directory from /home/bender/.sopel to /etc/ and probably even purge the user bender.
Maintenance
If superbender
does not seem to be reporting on a feed, you can ask superbender to check all feeds immediately (default is every 60 seconds):
.rss update
Or, immediately print all feed items for a given fee with:
.rss get <feedname>
If desperate, you can remove and re-add feeds via irc:
.rss del <feedname>
And then re-add using the command above.