Zodbot Infrastructure SOP
Zodbot is a supybot based irc bot that we use in our #fedora channels.
Contact Information
- Owner
-
Fedora Infrastructure Team
- Contact
-
#fedora-admin
- Servers
-
value02
- Purpose
-
Provides our IRC bot
Description
Zodbot is a supybot based irc bot that we use in our #fedora channels.
It runs on value02 as the daemon user. We do not manage the
zodbot.conf
because supybot makes changes to it on its own. Therefore it
gets backed up and is treated as data.
- shutdown
-
systemctl stop zodbot
- startup
-
systemctl start zodbot
Startup issues
If the bot won’t connect, with an error like:
"Nick/channel is temporarily unavailable"
found in /var/lib/zodbot/logs/messages.log
, hop on libera.chat (with your
own IRC client) and do the following:
/msg nickserv release zodbot [the password]
The password can be found on the bot’s host in
/var/lib/zodbot/conf/zodbot.conf
This should allow the bot to connect again.
Processing interrupted meeting logs
zodbot forgets about meetings if they are in progress when the bot goes down; therefore, the meetings never get processed. Users may request a ticket in our pagure ticket instance to have meeting logs processed.
pagure tickets for meeting log processing should consist of a URL where
zodbot had saved the log so far and an uploaded file containing the rest
of the log. The logs are stored in /srv/web/meetbot
. Append the
remainder of the log uploaded to Trac (don’t worry too much about
formatting; meeting.py
works well with irssi- and XChat-like logs), then
run:
sudo python /usr/lib/python3*/site-packages/supybot/plugins/MeetBot/meeting.py replay /path/to/fixed.log.txt
Close the pagure ticket, letting the user know that the logs are processed in the same directory as the URL they gave you.
Becoming an admin
Register with zodbot on IRC.:
/msg zodbot misc help register
You have to identify to the bot to do any admin type commands, and you need to have done so before anyone can give you privs. zodbot has it’s own users database seperate from the account system.
After doing this, ask in #fedora-admin on IRC and someone will grant you privs if you need them. You’ll likely be added to the admin group, which has the following capabilities (the below snippet is from an IRC log illustrating how to get the list of capabilities).
21:57 < nirik> .list admin 21:57 < zodbot> nirik: capability add, capability remove, channels, ignore add, ignore list, ignore remove, join, nick, and part
There’s also a 'owner' power level that lets you have full privs on zodbot. In order to add someone as a owner, they must make an account, then zodbot must be stopped completely. The local zodbot.conf file on value02 edited and the user added as owner. The bot can then be restarted.
Adding zodbot to another channel
Any owner or admin can ask zodbot to join another channel with the 'join' command. In general we should ask people why they need it there and try and keep channels minimal.
zodbot plugins
More information
zodbot is a https://github.com/progval/Limnoria bot, a reimplemetation of the original supybot.
https://fedoraproject.org/wiki/Zodbot describes the commands users may wish to use with zodbot as well as more general information.
Want to help? Learn how to contribute to Fedora Docs ›