= superbender the IRC notification daemon = `superbender` has taken over from our faithful bot bender. It monitors RSS feeds and posts them in our [wiki:faq/chat chat]. `superbender` lives on jojobe, runs as the user `bender` and fully resides in /home/bender. It runs [https://github.com/sopel-irc/sopel/ sopel] and the [https://github.com/RebelCodeBase/sopel-rss 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 [https://github.com/RebelCodeBase/sopel-rss 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 }}} If desperate, you can remove and re-add feeds via irc: {{{ .rss del }}} And then re-add using the command above.