139 lines
3.9 KiB
Text
139 lines
3.9 KiB
Text
= Zodbot Infrastructure SOP
|
|
|
|
Zodbot is a supybot based irc bot that we use in our #fedora channels.
|
|
|
|
== Contents
|
|
|
|
[arabic]
|
|
* <<_contact_information>>
|
|
* <<_description>>
|
|
* <<_startup_issues>>
|
|
* <<_processing_interrupted_meeting_logs>>
|
|
* <<_becoming_an_admin>>
|
|
|
|
== 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
|
|
|
|
Zodbot extends functionality via a number of plugins. Some of which are fedora specific.
|
|
|
|
=== supybot-fedora
|
|
|
|
This plugin interacts with the Fedora account system (noggin)
|
|
|
|
https://github.com/fedora-infra/supybot-fedora
|
|
|
|
=== supybot-meetbot
|
|
|
|
This plugin handles meeting functions.
|
|
|
|
https://github.com/fedora-infra/supybot-meetbot
|
|
|
|
=== supybot-koji
|
|
|
|
This plugin allows querying koji (the fedora build system)
|
|
|
|
https://github.com/fedora-infra/supybot-koji
|
|
|
|
== 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.
|