hcoopmeetbotlogic.command

Implementation of meeting commands.

Module Contents

class hcoopmeetbotlogic.command.CommandDispatcher

Identify and dispatch meeting commands.

This is maintained as a class rather than as a set of functions because having a class makes certain operations easier - for example, the list_commands() method.

list_commands() List[str]
do_startmeeting(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Start a meeting

do_endmeeting(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

End an active meeting and save to disk.

do_save(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Save the meeting to disk in its current state.

do_topic(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Set a new topic in the channel.

do_chair(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Add a chair to the meeting.

do_unchair(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Remove a chair from the meeting.

do_here(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Document attendance and optionally associate a nick with an alias, for use with actions.

do_nick(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Make the bot aware of a nick which hasn’t said anything, for use with actions.

do_undo(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Remove the most recent item from the minutes.

do_meetingname(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Set the meeting name, which defaults to the channel name.

do_motion(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Open a motion.

do_vote(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Record a vote.

do_close(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Close a motion.

do_accepted(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Indicate that a motion has been accepted.

do_failed(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Indicate that a motion has failed.

do_inconclusive(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Indicate that a motion was inconclusive.

do_action(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Add an action item to the minutes.

do_info(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Add an informational item to the minutes.

do_idea(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Add an idea item to the minutes.

do_help(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, operation: str, operand: str, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Add a help item to the minutes.

Add a link to the minutes.

hcoopmeetbotlogic.command.list_commands() List[str]

List available commands.

hcoopmeetbotlogic.command.dispatch(meeting: hcoopmeetbotlogic.meeting.Meeting, context: hcoopmeetbotlogic.interface.Context, message: hcoopmeetbotlogic.meeting.TrackedMessage) None

Dispatch any command contained in the message to the dispatcher method with the matching name.

hcoopmeetbotlogic.command.is_startmeeting(message: hcoopmeetbotlogic.interface.Message) bool

Whether the message contains a start-of-meeting indicator.