aperezdc / luabot

An XMPP (Jabber) bot written in Lua using the protocol implementation from Verse/Prosody
Other
27 stars 7 forks source link

Plugin to conduct meetings #2

Closed aperezdc closed 9 years ago

aperezdc commented 9 years ago

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

MeetBot command support:

MeetBot features:

tanty commented 9 years ago

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

aperezdc commented 9 years ago

@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.)

aperezdc commented 9 years ago

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.

aperezdc commented 9 years ago

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.

aperezdc commented 9 years ago

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

aperezdc commented 9 years ago

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.

aperezdc commented 9 years ago

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.

aperezdc commented 9 years ago

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.