MeetingBot

From OSGeo
Jump to navigation Jump to search

Introduction

Successful meetings involve some overhead: creating agendas, assigning action items, producing minutes for later review, etc -- but no one really relishes having to be "the scribe" and write up minutes and whatnot. Since most of our meetings occur via IRC (or IRC + phone), however, it seems like we ought to be able to pretty easily have an agent running in the background, monitoring the IRC conversation, to serve as a "recording secretary" or "administrative assistant" for these sorts of tasks.

I envision a "meeting bot", which can do these basic functions:

  • record the IRC transcript of the meeting
  • record who attended the meeting
  • record assigned tasks
  • record notes about agenda items discussed
  • automatically generate minutes

It would be nice if the bot could walk us through each item on the agenda, but I don't have a clear notion of the user interface for that yet (would require the agenda be in some XML-like form somewhere...) It would also really be nice if such a bot could also serve as an interface to an issue tracking system. But until OSGeo has a baseline issue tracking system, we oughtn't go there.


Prior art

I'm not an IRC expert and I've never written a bot, but it seems like a fun thing to do (and that is all that this really all about...).

A quick surf of the net found a few things by the WC3 folks close to what I'm thinking of:

I need to research these to see if those things are what I want. Although the above are all Perl, and I'd prefer Python (a la supybot?).


Details

Operation

  • lives on the #osgeo channel, 24x7
  • restarts itself automatically
  • keeps a file-based backing store, in case the bot goes down

Required Features

(this is not the exact syntax, just a rough idea)

  • general command: "bot: start the meeting named VisCom"
    • starts recording the full IRC transcript of the meeting
    • records list of attendees, based on who spoke
    • watches for specific keyword-based commands (below)
  • general command: "bot: end meeting"
    • stops recording transcript
    • minutes automatically generated, put somewhere or mailed out
    • emails out list of specific tasks to specific owners
  • keyword-based commands (detected by the bot, while a meeting is active; might be preferable to prefacing everything by "bot:'")
    • "add attendee Alice" - extends attendee list, e.g. if Alice only on phone
    • "TODO Bob order new shirts" - records a task for Bob in the minutes
    • "NOTE shirts are $15/each" - adds a note to capture in the minutes
    • "show attendees|tasks|minutes" - dumps current status of things

Optional Features

  • "bot: add meeting VisCom <date>
  • "add agenda item ask about getting more shirts"
  • "list all agenda items"
  • "start next agenda item"
  • "bot: show next meeting" -- shows when the next osgeo meeting is
  • "bot: show next geodata meeting" -- shows when the next geodata meeting is
  • "bot: start vote" -- records +1, 0, -1 and nicks of folks who voted