aperezdc / luabot

An XMPP (Jabber) bot written in Lua using the protocol implementation from Verse/Prosody

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plugin to conduct meetings

aperezdc opened this issue · comments

Similar behaviour as MeetBot would be nice, to make it easier for people already used to it.

MeetBot command support:

  • #startmeeting
  • #endmeeting
  • #chair
  • #unchair
  • #topic
  • #action
  • #info
  • #idea
  • #link
  • #help
  • #agreed
  • #accepted
  • #rejected
  • #undo
  • #nick
  • #lurk
  • #unlurk
  • #meetingname
  • #restrictlogs
  • #meetingtopic

MeetBot features:

  • Raw meeting log.
  • HTML meeting log.
  • reStructuredText Markdown meeting minutes.
  • HTML meeting minutes.

I suppose too ambitious but, maybe, better approach is to provide Supybot compatibility so we could use MeetBot or any other Supybot based bot.

@tanty The current plan is precisely that the meetings plugin for Luabot supports the same commands as MeetBot, with the same syntax, so it can be trated as a drop-in replacement. Supybot (and MeetBot, which builds on it) supports only IRC, and it is done in Python, so apart from being difficult to integrate, there's no much point provided that Luabot is using Verse already (n.b. Verse is a XMPP client framework derived from the extensively testes XMPP implementation of the Prosody XMPP server.)

The first pass at the meetings plugin now lives in the master branch. I have updated the issue description with a checklist of MeetBot features, so the implementation progress can be followed in a glance.

New update implementing most of the commands. Now there is only a few left (which I am not sure is worth implementing), and the missing generation of minutes and HTML logs. With the new data representation introduced by the last commit, it should be trivial to do the minutes.

HTML logs are now working, and they look like the MeetBot ones. Proof in this screen capture:

screenshot from 2015-10-14 00-34-37

I have added the admin commands to the list of MeetBot features, but probably it does not make sense to add support for them all. Also, adding them would need some additional settings for defining “bot admins”, either at the plug-in or bot level, so that's extra work. I may consider moving those to a new issue later on.

Moved the implementation of the admin commands to a separate issue (see #8). Also, the #meetingname, #restrictlogs, and #meetingtopic are non essential and the fact that a meeting title has to be given to #startmeeting makes #meetingname uneeded means that I will not be implementing them. Last, but not least, reStructuredText is very popular in the Python world, yes, but Markdown is more widespread and more tooling exists, so I am going to favor implementing a Markdown minutes generator instead.

Support for Markdown minutes is now in master, so I consider this issue done. For further improvements/bugs with the meeting plugin, please open new issues.