IRC bots

From Pumping Station One
Jump to navigation Jump to search

IRC Bots

There have recently been a few projects done to integrate the channel into the physical space better; Spacemon to monitor the space and provide busyness information of the physical space on the IRC channel, and Chatmon to display activity summary information for the IRC channel in the physical space.

There are also generally useful bots that may or may not be around depending on time of day, whims, weather, etc.

To find out more, read up on the various projects on these pages:

  • Spacemon - what rooms are busy, and are the lights on?
  • Peoplemon - who is at the space?
  • Schedmon - who will be at the space?
  • Chillmon - what's the temperature in the shop & in the beer fermenter?
  • Chatmon
  • Chronmon - !addcron - add things to say and other bot interactions - using crontab format to schedule things to happen in IRC.
  • Cutebot - correct yourself using sed syntax
  • Thingsmon - view data from Things Bus and view documentation about Things Bus
  • Ghostlowmon - an annoying bot which responds when you ask for !thing
  • Futuremsgbot - !remind yourself things
  • Greetermon - a markov model trained on things said in the channel. grumpermon's good twin
  • Grumpermon - responds with pre-recorded, insulting remarks to make you cry in the corner with a pint of ice cream, you cad.
  • Tardisvoice
  • Schedmon
  • Spacemon
  • Sudlowbot - !ps1events, !ps1wiki, and a million commands that link to pictures of cats
  • PS1Wikimon - tells the chat when people edit the wiki

The overall plank bots config for gaggled is:

 gaggled {
   eventurl tcp://*:28001
   controlurl tcp://*:28000
   tick 250
   startwait 50
   smtpgate {
     mx    smtp.truct.org
     from  gaggled@plank.pumpingstationone.org
     to    pumping-station-one-operations@googlegroups.com
     helo  localhost
     auto  true
   }
 }
 lidless_work1 {
   command python
   argv "./lidless ps1.json work1"
   wd git/lidless
 }
 lidless_work2 {
   command python
   argv "./lidless ps1.json work2"
   wd git/lidless
 }
 lidless_work3 {
   command python
   argv "./lidless ps1.json work3"
   wd git/lidless
 }
 lidless_announcer {
   command python
   argv "./lidless ps1.json announcer"
   wd git/lidless
 }
 lidless_frontend {
   command python
   argv "./lidless ps1.json frontend"
   wd git/lidless
 }
 chatlight_arduino {
   enabled false
   command python
   argv "./watch_reports tcp://127.0.0.1:23008"
   wd git/chatlight
 }
 chatlight_irc {
   command python
   argv "./chatlight irc.freenode.net chatmon #pumpingstationone tcp://127.0.0.1:23008"
   wd git/chatlight
 }
 peoplemon {
   command python
   argv "./floyd -u tcp://*:34123 -l PS:One -i spacemon,shortmon,notadoctor,peoplemon,schedmon,chatmon,PS1Workstation,chillmon irc.freenode.net peoplemon #pumpingstationone"
   wd git/floyd
 }
 chillmon_web {
   command python
   wd git/chillmon
   argv "./web.py tcp://10.100.0.81:7000 tcp://10.100.1.213:7001"
 }

Invoke like:

   PYTHONPATH=/usr/share/pyshared:/usr/lib/pyshared/python2.7/:/home/eastein/git/mediorc:/home/eastein/git:/home/eastein/git/zmstream/:/home/eastein/git/python-irclib/:/home/eastein/venv/local/lib/python2.7/site-packages gaggled -c automation.gaggled.conf

Undocumented IRC Bots

The following bots will never have their own pages because they don't matter and don't need them: shortmon, notadoctor, pnbot.