meetingology

Differences between revisions 5 and 13 (spanning 8 versions)
Revision 5 as of 2011-08-30 19:37:54
Size: 6328
Editor: 87
Comment:
Revision 13 as of 2016-12-13 20:09:36
Size: 4712
Editor: eylul
Comment: the semicolon syntax for multiple commands doesn't exist.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#title Meetingology
Meetingology is a bot running on the #ubuntu-meeting channel and some other channels on the Freenode network. Its purpose is to facilitate meetings and take the minutes. The general principals are as follows:
 * The bot should shut up, unless it has something useful to say, it won't echo every command in the channel, but it might confirm in a private message to the user that it understood things (this principal is not yet fully implemented)
= General information =

Meetingology is a bot running on the #ubuntu-meeting channel and some other channels on the Freenode network. Its purpose is to facilitate meetings and take the minutes. The general principles are as follows: 
 * The bot should be quiet unless it has something useful to say. The bot won't echo every command in the channel, but it might confirm in a private message to the user that it understood things (this principle is not yet fully implemented).
Line 5: Line 6:
 {*} Some commands can be given only by the chair, or an op. these commands are marked like this line is.
 * It should be command compatible with the old Mootbot, it accepts [topic] and #topic as equivalents
 * The full list of commands is:
   #accept #accepted #action #agree #agreed #chair #commands #endmeeting #endvote #halp #help #idea #info #link #lurk #meetingname #meetingtopic #nick #progress #rejected #replay #restrictlogs #save #startmeeting #subtopic #topic #unchair #undo #unlurk #vote #voters #votesrequired
  Some of these are more useful than others.
 * Minutes consist of a summary of the important points, plus a full log of the meeting.
 * Command compatible with the old Mootbot: you can use [topic] instead of #topic.
 * The meeting minutes consist of a summary of the important points, plus a full log of the meeting.
Line 12: Line 9:
 {*} '''#accept <text>''' = Using the bot =
||<style="border: none;"> {*} ||<style="border: none;"> Commands marked with a Circle of Friends can be given by anyone, not only the chair or an op.||
== Managing the meeting ==
 '''#startmeeting''' <meetingtopic> {*} <<BR>>
 Starts the meeting and sets the meeting topic to <meetingtopic>.
Line 14: Line 15:
Adds a note to the minutes that a point was accepted  '''#meetingtopic''' <topic><<BR>>
 Sets the meeting topic to <topic>. Use this if you forgot to set the meeting topic when starting the meeting.
Line 16: Line 18:
 {*} '''#accepted'''  '''#endmeeting'''<<BR>>
 Ends the meeting. Can be used by any chair or any op on the channel.
Line 18: Line 21:
Alias of #accept === Chair(s) and attendants ===
 '''#chair''' <nick> <nick> ...<<BR>>
 Set any number of people to be chairs of the meeting.
Line 20: Line 25:
 {*} '''#action <text with one or more nicks in it>'''  '''#unchair''' <nick><<BR>>
 Removes any user from the set of chairs of the meeting.
Line 22: Line 28:
Records in the minutes that the nicks were assigned an action.  '''#nick''' <nick><<BR>>
 Adds a nick that has not spoken to the attendants. You can also use this to create a person/respondant for any action item in the minutes.<<BR>>
 ''Example:'' <<BR>>
   #nick Community''''''Council<<BR>>
   #action Community''''''Council will produce report on . . .<<BR>>
Line 24: Line 34:
 {*} '''#agree <text>''' === Topics ===
 '''#topic''' <topic><<BR>>
 Sets the current meeting topic to <topic>, which is also saved in the meeting minutes. If the bot has rights, also changes the channel topic.
Line 26: Line 38:
Records in the minutes that something was agreed upon, this might follow an informal discussion that did not merit a vote but a consensus was found.  '''#subtopic''' <topic><<BR>>
 Sets the current meeting subtopic to <topic>, which is also saved in the meeting minutes.<<BR>>
 Alias: #progress
Line 28: Line 42:
 {*} '''#agreed''' === Meeting minutes ===
 '''#accepted''' <text><<BR>>
 Adds an "accepted" item in the meeting minutes.<<BR>>
 Alias: #accept
Line 30: Line 47:
Alias of #agree  '''#action''' <text> {*} <<BR>>
 Adds an "action" item in the meeting minutes. The <text> should have one or more nicks in it.
Line 32: Line 50:
 {*} '''#chair <chair1> <chair2>'''  '''#agreed''' <text><<BR>>
 Adds an "agreed" item in the meeting minutes.<<BR>>
 Alias: #agree
Line 34: Line 54:
Make one or more people chairs of the meeting. There are some commands that can be given by anyone and some only by chairs (changing topic, calling a vote etc). Anyone who is a channel operator can act as a chair, but it is recommended that you op up, use the #chair command to designate the chair and then deop again.  '''#help'''<<BR>>
 Adds a "help" item in the meeting minutes. This indicates that the meeting attendants/team need help from somebody.<<BR>>
 Alias: #halp
Line 36: Line 58:
 '''#idea''' <text> {*} <<BR>>
 Adds an "idea" item in the meeting minutes.
Line 37: Line 61:
'''#commands'''
Lists the commands the bot understands. This is called by #startmeeting so there is no real need to use this command.
 '''#info''' <text> {*} <<BR>>
 Adds an "info" item in the meeting minutes.
Line 40: Line 64:
 {*} '''#endmeeting'''  '''#rejected''' <text><<BR>>
 Adds a "rejected" item in the meeting minutes. Opposite to #agreed.
Line 42: Line 67:
Close a running meeting, remember if the chair is gone any operator can use the #endmeeting command === Voting ===
 '''#vote''' <subject><<BR>>
 Starts a vote on <subject>. Votes are given by saying '''+1''', '''0''' or '''-1''' on the channel. Votes are counted once, but you can change your mind as many times as you want before the voting ends.
Line 44: Line 71:
 {*} '''#endvote'''  '''#votesrequired''' <count><<BR>>
 Specifies the number of votes needed until the vote will pass.
 ''Example:'' #votesrequired 2 means you either need an aggregate of +2 or -2 to pass.
 ''Example:'' if you don't want a 0 to be a deadlock (e.g. if everyone abstains then the vote should fail) then set #votesrequired 1.
Line 46: Line 76:
Closes a running vote and declares the results. Called automatically by #endmeeting if a vote is not closed by the end of the meeting.  '''#voters''' <nick> <nick> ...<<BR>>
 Set the qualified voters. Use '#voters all' to reset.
Line 48: Line 79:
 {*} '''#halp'''  '''#endvote'''<<BR>>
 Ends the vote and announces the results as well as adds them to the meeting minutes.
Line 50: Line 82:
Rather odd alias for #help. No idea why. == Other bot commands ==
 '''#commands''' {*} <<BR>>
 Lists the commands the bot understands. This is called by #startmeeting so you shouldn't need it.
Line 52: Line 86:
 {*} '''#help <text>'''  '''#link''' {*} <<BR>>
 Pasting a link to the channel already adds a link in the meeting minutes.
Line 54: Line 89:
This records in the minutes a call for help. It does not provide help on using the bot. You might use it like "#help we need people to staff a conference stand"  '''#lurk''' and '''#unlurk'''<<BR>>
 Don't use this. Makes the bot quiet/not so quiet. For debugging only.
Line 56: Line 92:
'''#idea <text>'''  '''#meetingname'''<<BR>>
 Sets the meeting name. Use #meetingtopic instead.
Line 58: Line 95:
Allows anyone to suggest an idea, which will be recorded in the minutes.  '''#replay'''<<BR>>
 Don't use this. WIP. The idea is to reprocess raw logs looking for meeting commands and output formatted meeting minutes.
Line 60: Line 98:
'''#info <text>'''  '''#restrictlogs'''<<BR>>
 Don't use this. Untested feature that chmods log files. Useless in publicly logged channels.
Line 62: Line 101:
Allows anyone to provide information which will be in the summary minutes.  '''#save'''<<BR>>
 Don't use this. Flushes meeting minutes to disk. This is called by #endmeeting.
Line 64: Line 104:
'''#link <url>'''

Allows anyone to provide a link. This is a bit of an unnecessary command as just pasting in a link will record it.

 {*} '''#lurk'''

Don't use this, it makes the bot very quiet, it is for debugging the bot by having it shadow another running meeting bot.

 {*} '''#meetingname <text>'''

Don't use this, it sets the meeting name, but it is more useful to set the meeting topic

 {*} '''#meetingtopic <text>'''

This sets the overall topic for the meeting, you don't need to use this as you can do "#startmeeting topic" but if you forget to do it on the #startmeeting line you can do it with this command.

 {*} '''#nick <nick>'''
This recognises a nick that has not spoken. If you want to give someone an action who is not present in the meeting you can use this command so it knows that word is a person name when it parses the action string.

 {*} '''#progress <text>'''

This is an alias for #subtopic, generally used for reporting progress on action items. You would have a "#topic Review of action items from previous minutes" then in that topic do a "#progress first action" etc.

 {*} '''#rejected <text>'''

Like #accepted, but not.

 {*} '''#replay <url>'''

Don't use this, it is not currently working but the idea is that it will reprocess raw IRC logs looking for meeting commands and producing formatted minutes. This could be used to create a file of minutes of old meetings from #ubuntu-meeting going back years.

 {*} '''#restrictlogs'''

Untested functionality to chmod the log files, a bit pointless for our meetings in publicly logged channels.

 {*} '''#save'''

Causes certain types of minutes to flush to disk. You don't need to use this, it will do it on #endmeeting.

'''#startmeeting <meetingname>'''

This will kick off a new meeting and set the meeting topic, e.g. ''#startmeeting Community Council''

 {*} '''#subtopic <text>'''

This marks a subtopic in the meeting, it won't update the channel topic. A bit like #topic, but less so.

 {*} '''#topic <text>'''

Moves the meeting on to a new topic. It will update the IRC channel /topic if it can with the original topic, the meeting name and the new topic.

 {*} '''#unchair <nick>'''

Not a lot of need for this, but it removes chair privileges from someone. Generally fine to leave the meeting with multiple chairs.

 {*} '''#undo'''

Scrubs the last command from the logs (not very effectively)

 {*} '''#unlurk'''

If you were silly enough to use the #lurk command this fixes it.

 {*} '''#vote <text>'''

Calls for a vote on a motion, e.g. "#vote this house declares cake to be the food of champions" the authorised voters (everyone by default) can then say +1, 0 or -1 in channel to record their opinions. Voters will be counted once but they can change their minds as many times as they like before the vote closes.

 {*} '''#voters <nick1> <nick2> . . . '''

Adds to the list of people who will be listened to in a vote. "#voters all" or "#voters everyone" or "#voters everybody" to reset it.

 {*} '''#votesrequired <number>'''

Specify a total score that votes need to pass. If it is #votesrequired 2 then an aggregate score of +2 will pass the vote. Zero is a special value, by default the votes required is zero and if the aggregate score is zero then a deadlock is declared.
 '''#undo'''<<BR>>
 Undoes the last command from the logs. Doesn't always work.

General information

Meetingology is a bot running on the #ubuntu-meeting channel and some other channels on the Freenode network. Its purpose is to facilitate meetings and take the minutes. The general principles are as follows:

  • The bot should be quiet unless it has something useful to say. The bot won't echo every command in the channel, but it might confirm in a private message to the user that it understood things (this principle is not yet fully implemented).
  • Writing minutes is an activity unworthy of a human, the post meeting minutes process should be copy-paste-done.
  • Command compatible with the old Mootbot: you can use [topic] instead of #topic.
  • The meeting minutes consist of a summary of the important points, plus a full log of the meeting.

Using the bot

Ubuntu

Commands marked with a Circle of Friends can be given by anyone, not only the chair or an op.

Managing the meeting

  • #startmeeting <meetingtopic> Ubuntu
    Starts the meeting and sets the meeting topic to <meetingtopic>.

    #meetingtopic <topic>
    Sets the meeting topic to <topic>. Use this if you forgot to set the meeting topic when starting the meeting.

    #endmeeting
    Ends the meeting. Can be used by any chair or any op on the channel.

Chair(s) and attendants

  • #chair <nick> <nick> ...
    Set any number of people to be chairs of the meeting.

    #unchair <nick>
    Removes any user from the set of chairs of the meeting.

    #nick <nick>
    Adds a nick that has not spoken to the attendants. You can also use this to create a person/respondant for any action item in the minutes.
    Example:

    • #nick CommunityCouncil
      #action CommunityCouncil will produce report on . . .

Topics

  • #topic <topic>
    Sets the current meeting topic to <topic>, which is also saved in the meeting minutes. If the bot has rights, also changes the channel topic.

    #subtopic <topic>
    Sets the current meeting subtopic to <topic>, which is also saved in the meeting minutes.
    Alias: #progress

Meeting minutes

  • #accepted <text>
    Adds an "accepted" item in the meeting minutes.
    Alias: #accept

    #action <text> Ubuntu
    Adds an "action" item in the meeting minutes. The <text> should have one or more nicks in it.

    #agreed <text>
    Adds an "agreed" item in the meeting minutes.
    Alias: #agree

    #help
    Adds a "help" item in the meeting minutes. This indicates that the meeting attendants/team need help from somebody.
    Alias: #halp

    #idea <text> Ubuntu
    Adds an "idea" item in the meeting minutes.

    #info <text> Ubuntu
    Adds an "info" item in the meeting minutes.

    #rejected <text>
    Adds a "rejected" item in the meeting minutes. Opposite to #agreed.

Voting

  • #vote <subject>
    Starts a vote on <subject>. Votes are given by saying +1, 0 or -1 on the channel. Votes are counted once, but you can change your mind as many times as you want before the voting ends.

    #votesrequired <count>
    Specifies the number of votes needed until the vote will pass. Example: #votesrequired 2 means you either need an aggregate of +2 or -2 to pass. Example: if you don't want a 0 to be a deadlock (e.g. if everyone abstains then the vote should fail) then set #votesrequired 1.

    #voters <nick> <nick> ...
    Set the qualified voters. Use '#voters all' to reset.

    #endvote
    Ends the vote and announces the results as well as adds them to the meeting minutes.

Other bot commands

  • #commands Ubuntu
    Lists the commands the bot understands. This is called by #startmeeting so you shouldn't need it.

    #link Ubuntu
    Pasting a link to the channel already adds a link in the meeting minutes.

    #lurk and #unlurk
    Don't use this. Makes the bot quiet/not so quiet. For debugging only.

    #meetingname
    Sets the meeting name. Use #meetingtopic instead.

    #replay
    Don't use this. WIP. The idea is to reprocess raw logs looking for meeting commands and output formatted meeting minutes.

    #restrictlogs
    Don't use this. Untested feature that chmods log files. Useless in publicly logged channels.

    #save
    Don't use this. Flushes meeting minutes to disk. This is called by #endmeeting.

    #undo
    Undoes the last command from the logs. Doesn't always work.

meetingology (last edited 2021-09-24 08:57:51 by paride)