From Wikitech
Jump to navigation Jump to search
Toolforge tools
Crystal Clear app package utilities.png meetbot
Description MeetBot instance
Keywords irc, python
Maintainer(s) Hashar, MarkTraceur, Tim Landscheidt, Daniel Kinzler (View all)
Source code github
License BSD 3-clause "Modified" License
Issues Open tasks · Report a bug

meetbot is a MeetBot instance that keeps minutes for meetings, office hours, etc. held in #wikimedia-office connect.


m:Meetbot has some notes for users.

See for common commands.

See for the full manual.


meetbot uses the IRC nick wm-labs-meetbot. The associated NickServ mail address ends up with User:Tim Landscheidt so contact him if you delete the password.


  • Log into the Toolforge login server. ssh (see Help:Toolforge).
  • Access the tools.meetbot user. become meetbot.


  • If necessary, stop the bot with jstop meetbot.
  • Start the bot with jstart -l release=trusty ~/bin/meetbot.
  • Start the webserver with webservice --backend=kubernetes start.


meetbot runs as a continuous job on Tools. To install:

  • Make sure the package supybot is installed.
  • Clone the OpenStack fork repository of the MeetBot Python module to a local directory and install it to ~/.local with python install --user.
  • Create ~/.lighttpd.conf with the content:
# Enable basic directory index.
$HTTP["url"] =~ "^/?" {
        dir-listing.activate = "enable"
  • Create ~/wm-labs-meetbot.conf with the content:
supybot.nick: wm-labs-meetbot
supybot.networks: freenode
supybot.networks.freenode.password: very-secret
supybot.networks.freenode.channels: #wikimedia-office
supybot.directories.conf: /data/project/meetbot/conf /data/project/meetbot/data /data/project/meetbot/data/tmp
supybot.directories.backup: /data/project/meetbot/backup
supybot.directories.plugins: /data/project/meetbot/.local/lib/python2.7/site-packages/supybot/plugins
supybot.directories.log: /data/project/meetbot/logs
supybot.plugins: MeetBot Admin Misc User Owner Config Channel
supybot.plugins.Admin: True
supybot.plugins.Channel: True
supybot.plugins.Config: True
supybot.plugins.MeetBot: True
supybot.plugins.Misc: True
supybot.plugins.Owner: True
supybot.plugins.User: True
supybot.plugins.MeetBot.enableSupybotBasedConfig: True
supybot.plugins.MeetBot.logFileDir: /data/project/meetbot/public_html
supybot.plugins.MeetBot.endMeetingMessage: Meeting ended %(endtime)s %(timeZone)s.  Information about MeetBot at %(MeetBotInfoURL)s . (v %(__version__)s)\nMinutes:        %(urlBasename)s.html\nMinutes (text): %(urlBasename)s.txt\nMinutes (wiki): %(urlBasename)\nLog:            %(urlBasename)s.log.html
supybot.plugins.MeetBot.writer_map: HTML2:.html HTMLlog2:.log.html Text:.txt
  • Protect ~/wm-labs-meetbot.conf against overwriting by supybot with chmod -w ~/wm-labs-meetbot.conf.
  • Create ~/bin/meetbot with the content:

# supybot doesn't start if it can't make a backup file.
/bin/rm -f ~/wm-labs-meetbot.conf.bak

# Start supybot itself.
/usr/bin/supybot ~/wm-labs-meetbot.conf
  • Make ~/bin/meetbot executable with chmod +x ~/bin/meetbot