From 6fd62e887e49accc1d3189279f0e007fed3f3bd1 Mon Sep 17 00:00:00 2001 From: Joachim Filip Ignacy Bartosik Date: Sat, 16 Jul 2011 20:21:26 +0200 Subject: Add #command command to MeetBot - shows documentation for other commands --- bot/ircmeeting/meeting.py | 31 ++++++++++++++++++++++++++++--- bot/tests/run_test.py | 15 +++++++++++---- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/bot/ircmeeting/meeting.py b/bot/ircmeeting/meeting.py index a15b674..c20fd6d 100644 --- a/bot/ircmeeting/meeting.py +++ b/bot/ircmeeting/meeting.py @@ -323,14 +323,20 @@ class MeetingCommands(object): self.reply(self.config.agenda.get_agenda_item()) def do_nextitem(self, nick, time_, line, **kwargs): + """Go to next agenda item""" self.reply(self.config.agenda.next_agenda_item(self)) def do_previtem(self, nick, time_, line, **kwargs): + """Go to previous agenda item""" self.reply(self.config.agenda.prev_agenda_item(self)) def do_timelimit(self, nick, time_, line, **kwargs): - reply = 'Usage "#timelimit add : " or ' +\ - '"#timelimit list" or "#timelimit remove "' + """ Manage reminders: + #timelimit list - list all active reminders + #timelimit add : - add a new reminder + #timelimit remove - remove reminder with message""" + + reply = self.do_timelimit.__doc__ match = re.match( ' *?add ([0-9]+):([0-9]+) (.*)', line) if match: reply = self.config.agenda.add_timelimit(int(match.group(1)), @@ -341,24 +347,33 @@ class MeetingCommands(object): match = re.match( ' *?remove (.*)', line) if(match): reply = self.config.agenda.remove_timelimit(match.group(1)) - self.reply(reply) + for line in reply.split("\n"): + self.reply(line) def do_changeitem(self, nick, time_, line, **kwargs): + """Change agenda item. Usage: #chengeitem """ self.reply(self.config.agenda.change_agenda_item(line)) def do_startvote(self, nick, time_, line, **kwargs): + """Start vote on current item""" for messageline in self.config.agenda.start_vote().split('\n'): self.reply(messageline) def do_endvote(self, nick, time_, line, **kwargs): + """Close voting for current agenda item. You can resume voting later with #startvote""" for messageline in self.config.agenda.end_vote().split('\n'): self.reply(messageline) def do_vote(self, nick, time_, line, **kwargs): + """Make a vote. Usage: vote