Differences between revisions 9 and 10
Revision 9 as of 2009-05-12 17:08:29
Size: 4653
Editor: ?RichardDarst
Comment:
Revision 10 as of 2009-05-12 17:34:59
Size: 4710
Editor: ?RichardDarst
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
MeetBot is designed to be simple, not complex. Features are great, but not so much that it will MeetBot is designed to be simple, not complex. Features are great, but not so much that it becomes hard to use or unwieldy to maintain.
Line 72: Line 72:
After you have a change you like, just send me a diff. Or, if you want to record and send it, do this: Follow the interactive prompts: After you have a change you like, just send me a diff (`darcs diff -u`). Or, if you want to record and send it, do this: Follow the interactive prompts:

?MeatBot is designed to assist in running meetings, taking notes, and so on. It is in pure python, as a plugin to supybot. However, there is a clear distinction between meeting-code and IRC-code, so it should be relatively easy to port to other bots. It is under the supybot license (3-clause BSD).

The current version is by ?RichardDarst (?MrBeige @ OFTC). It was started as a clone/replacement of meetbot by HolgerLevsen, which was itself a derivative of https://wiki.ubuntu.com/ScribesTeam/MootBot used by the Ubuntu Scribes team. MootBot and the original meetbot were plugins to the eggdrop IRC bot.

MeetBot is designed to be simple, not complex. Features are great, but not so much that it becomes hard to use or unwieldy to maintain.

Meeting notes and logs appear on the internet after the meeting. The current hosting location is currently being worked out.

Howto

Commands start with a #. Not all commands give feedback. Bold commands are the main important ones - knowing just them is enough to run a great meeting.

Commands for only Chairs:

  • #startmeeting - Start a meeting. You are designated the owner (and have permanent chair powers).

  • #endmeeting - End the meeting. Must be called by a chair.

  • #topic - Set a new topic.

  • #agreed - Document an agreement in the minutes.

  • #meetingtopic - Sets the topic of the meeting. This only appears in the minutes page title and in parentheses in the channel topic throughout the meeting. This isn't saved, only the last one commanded is remembered.

Commands for Everyone:

  • #action - Document an action item in the minutes. Include any nicknames in the line, and the item will be assigned to them.

  • #info - Add an info item to the minutes.

  • #idea - Add an idea to the minutes.

  • #halp - (alias #help) Add a "Call for Help" to the minutes.

  • #link - Add a link to the meeting minutes. The link should be the first thing after it, other commentary after the link is OK. Links beginning with http:// and a few other protocols are automatically detected.

  • #nick - Make a nick be seen (space-separated list). Any nick which says anything is automatically seen. Nicks must be seen before they can have action items assigned to them.

Admin Commands (chairs only):

  • #save - Write the save files to disk

  • #restrict - When the logs are written, remove some permissions from them (can't be undone). Applies to all saves _after_ this point.

  • #chair - Add a new chair to the meeting. A space-separated list should follow.

  • #unchair - Remove a chair from the meeting. A space-separated list should follow. The owner can't be removed.

  • #undo - Remove the last item from the minutes. The type of item will be printed for confirmation.

  • #commands - list all available commands.

  • #lurk and #unlurk - Record the meeting, but don't say or do anything in the channel.

Wishlist

(add more feature requests here)

  • Publish to a wiki page? (I'll do it if someone gives me wiki-posting code)
  • Allow #agreed to be used by all. Make it configurable.

    • Make permissions on all commands be configurable.
    • Allow per-channel permissions.
  • More per-channel configuration: timezones?
  • Time reminders during the meeting.
    • #time N to give a time reminder in N minutes.

  • switch to some debian or debconf machines.
  • Replace the old meetbot.

Features

  • All in python
  • Multiple Chairs
  • Posts direct links when done
  • Stores and restores topic
  • Sets topic in the channel
  • Can restrict permissions on published logs.
  • Counts lines spoken by attendees
  • Tabulates action items by assigned person, including unassigned items.
  • Flexible command definitions, simply add another method.
  • Can replay logged meetings and re-generate the minutes from that.
  • Can run meetings on multiple channels and servers (if supybot supports connecting to multiple servers, I haven't investigated yet) concurrently.
  • Pingall command. MeetBot: pingall <ping message>. Open question: should permissions on this be restricted?

  • Configurable timezone. Open question: make it configurable per-channel.

Code

To get the code, do:

darcs get http://darcs.debian.org/darcs/collab-maint/MeetBot/

After you have a change you like, just send me a diff (darcs diff -u). Or, if you want to record and send it, do this: Follow the interactive prompts:

darcs record

To send a patch back to me, do this. It defaults to sending it by email via your local MTA.:

darcs send

... (or you can just send me a diff.)