From Wikitech
Jump to: navigation, search
Toolforge tools
Crystal Clear app package utilities.png meetbot
Description MeetBot instance
Keywords irc, python
Maintainer(s) Hashar, JanZerebecki, MarkTraceur, RobLa, Tim Landscheidt (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 Debian's MeetBot "Howto" for common commands and 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 Tool Labs login server. ssh (see Help:Tool Labs).
  • 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