You are browsing a read-only backup copy of Wikitech. The live site can be found at


From Wikitech-static
(Redirected from Admin Logs)
Jump to navigation Jump to search
Toolforge tools
Crystal Clear app package utilities.png morebots
Description Server Admin Log irc bot
Keywords irc, SAL, python
Author(s) Andrew Bogott, Antoine Musso, Kunal Mehta, Ori Livneh, Reedy, Ryan Lane
Maintainer(s) (View all)
Source code operations/debs/adminbot
License GNU General Public License 3.0 or later
Issues Open tasks · Report a bug

morebots is a Python server admin log updatin' bot.

morebots listens in these channels on

We also have qa-morebots to log to Release Engineering/SAL:

  • #wikimedia-releng


It runs from Wikimedia Toolforge under the "morebots" account. Bots are started and stopped using normal Toolforge conventions.

Source code is here: <;a=tree>.


Several irc logbots live here.  Each is started like this:

$ sudo -iu local-morebots
$ jstart -N <botname> /usr/lib/adminbot/ --config ./confs/<config-for-this-bot>

To get a list of running bots:

$ become morebots
$ qstat

To stop a running bot:

$ become morebots
$ qdel <job#>

The bots are:

analytics-logbot:  Lives in #wikimedia-analytics and logs to

labs-logbot:  Lives in #wikimedia-cloud and logs to

morebots:  Lives in #wikimedia-operations and logs to

qa-morebots: Lives in #wikimedia-releng and logs to

test-logbot:  Lives in #morebots-test and logs to
(This one is generally not running, just here as a dev tool.)

Example: restart the ops channel morebot

Ssh to

become morebots
# now find the instance running on labs
qdel <id>
jstart -N production-logbot /usr/lib/adminbot/ --config ./confs/

Deleting Twitter status

Sometime people fill in spam on IRC which ends up on twitter account. To clear them up, you can use small python script that uses the twitter token stored in the configuration file.

$ become morebots
$ . ./venv/bin/activate
$ python
>>> import imp
>>> botconf = imp.load_source('botconf', './confs/')
>>> import twitter
>>> api = twitter.Api(**botconf.twitter_api_params)
# List a status by id
>>> print api.getStatus(12345678)
# Delete it
>>> print api.DestroyStatus(12345678) 

See also