Difference between revisions of "User:Zai Lynch/Public Suggestion Box/VTeam Bot"
(draft) |
m (→Send IM: fixing width issue for smaller monitors) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| width="100%" | |||
|- | |||
|valign="top"| | |||
<div id="box"> | |||
== Disclaimer == | |||
<div style="padding: 0.5em"> | |||
This page lists ideas for a project which ''might'' become realised, but which is in <u>no way official yet</u>. It is a work in progress and just lists suggestions which are up for discussion at the [[{{TALKPAGENAME}}|related discussion page]]. | |||
</div></div> | |||
__TOC__ | |||
<div id="box"> | |||
== Suggested Usage == | |||
<div style="padding: 0.5em"> | |||
In order to ensure that it becomes an official project, the bot should be hosted on a LL server. The account should have Linden access only. The bot should have a name which makes it obviouse for anyone that it is | |||
#a bot (so people aren't discouraged when it doesn't answer to support questions ^_^) | |||
#an official project (so people aren't afraid of a scam) | |||
Suggested name: ''VTeamBot Linden'' | |||
=== Invite to Q&A Group === | |||
A group inviter to the Q&A group, placed at the VTeam kiosk in SLVEC. The inviter item checks if the avatar requesting the invitation is currently in the Second Life Mentors group and asks if the [[Second Life Mentor Q&A]] page has been read and the guidelines been understood (via menu). In case the answer is ''No'', the applicant gets a link to the Wiki page and is asked to apply again when s/he read it. In case the answer is ''Yes'', the item sends an IM to the bot and the bot sends an invitation to the applicant. | |||
=== Set to Opt-In Mentor Roles === | |||
Another item placed at the VTeam kiosk in SLVEC (could be the same item as above, but might cause less confusion in case it's another).<br> | |||
The item checks if the applicant is currently in the Second Life Mentor group and asks via menu, which grouprole s/he'd like to join. It always asks if the connected Wiki page has been read and understood. Answer "''No''" results in the link beeing sent, "''Yes''" results in the role beeing set and an confirmation message for the applicant. I would suggest to use the automatted invite for the roles [[SL Volunteer Mentor Buddies|Buddy]], [[Mentors Teaching Mentors|Coach]], [[SL Mentor Greeters|Greeter]] and [[SL Volunteer Mentor Linguists|Linguist]]. The roles [[Buddy Shadowing|Apprentice Buddy]], [[Orientations Offered By Mentor Coaches|Orientation Coach]] and [[SL Volunteer Mentor Scribes|Scribe]] should be processed via VTeam manually, using the current survey monkeys, since they need further approvement. For these roles, the item could provide the related Wiki page with explanations.<br> | |||
The item could also give the ability to leave a role again. In case the Mentor leaves the Apprentice Buddy role, the connected [[User:Zai Lynch/Buddy Panel|Buddy Panel]] could automatically be updated. In case the Mentor leaves the Buddy role, the Buddy Panel could be automatically reset and the mentor could be removed from the Apprentice Buddy role too. | |||
=== Process Apprentice Mentors === | |||
An item replacing the SLVEC Apprentice Buddy / Shadowing box. In case an avatar clicks it, the item checks if the avatar is currently in the Second Life Mentors group. A menu pops up, asking if the avatar would like to provide a list with attendees of an Orientation Class or a shadowing voucher. | |||
*List of attendees to an Orientation Class | |||
:The item requests a test from the bot if wether or not the avatar is in the Orientation Coach role of the Second Life Apprentice Mentor group. In case the answer is "''Yes''", the item enables inventory drop and the avatar can drop a notecard with a list of attendees. These are stored in a database for later use. The notecard itself becomes either cleared or send to a VTeam Member (Lexie?) for documentation / debugging purposes. | |||
:Any item which is droped in and which isn't a notecard, will be ignored and deleted or returned. | |||
*Shadowing Voucher | |||
:The item sends a request to the bot if wether or not the avatar is in the Apprentice Buddy role of the Second Life Apprentice Mentor group. In case the answer is "''Yes''", the avatar is asked to state the name of the Apprentice Mentor in open chat. It becomes stored in a database. | |||
Database: in case an entry in the database states, that an Avatar has attended an Orientation Class '''and''' has shadowed an Apprentice Buddy, the item requests the bot to | |||
#eject the connected Avatar from the Second Life Apprentice Mentor Group | |||
#add the connected Avatar to the Second Life Mentor Group | |||
The database entry becomes deleted afterwards.<br> | |||
'''Attention''': What happens to group invites, in case an Avatar is in busy mode? In case they become skipped, then it would be a good idea to automatically create and store a list of all processed Apprentice Mentors within a certain time frame. | |||
=== Orientation Class Attendence Test === | |||
In case the "Process Apprentice Mentors" feature from above becomes used, there could be an item requesting if wether or not an Apprentice Mentor has already attended an Orientation Session. So Apprentice Buddies can ensure that only those are shadowing them, who already attended the class. | |||
=== VTeam Use === | |||
The VTeam could use the bot to send items or IMs to a defined range of recipients. Examples | |||
*Ask any Apprentice Buddy to have a look at a certain survey | |||
*Ask any Scribe to to have a look at a certain Wiki page / Project | |||
*Inform any commitee member about a certain meeting | |||
*... | |||
It can also be used to easily ensure if a Mentor is in a certain role. So for example: Someone applies for beeing added to the "Apprentice Buddy" role, it got to be ensured that the applicant is a Buddy already. A VTeam member could write an IM to the bot, providing the name of the Mentor and it would reply if wether or not the Mentor is a Buddy already. This is optional, since the Buddy role is totally opt-in and just a few clicks away. | |||
</div></div> | |||
<div id="box"> | |||
== Bot Requirements == | |||
<div style="padding: 0.5em"> | |||
The bot should have the ability to: | |||
*[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_Invite.htm invite to a group] | *[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_Invite.htm invite to a group] | ||
*[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_EjectUser.htm eject | *[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_EjectUser.htm eject from the group] | ||
*[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_AddToRole.htm assign to a role] | *[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_AddToRole.htm assign to a role] | ||
*[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_RemoveFromRole.htm remove from a role] | *[http://www.libsecondlife.org/docs/trunk/html/M_libsecondlife_GroupManager_RemoveFromRole.htm remove from a role] | ||
Line 7: | Line 72: | ||
*[http://www.libsecondlife.org/docs/trunk/html/T_libsecondlife_GroupManager_GroupRolesMembersCallback.htm retrieve a list of groupmembers who are in a certain role] | *[http://www.libsecondlife.org/docs/trunk/html/T_libsecondlife_GroupManager_GroupRolesMembersCallback.htm retrieve a list of groupmembers who are in a certain role] | ||
*listen to IMs from (certain) avatars and objects | *listen to IMs from (certain) avatars and objects | ||
*send bulk IMs or items to a defined list of recipients (groupmembers in a certain role) | *talk in open chat | ||
*sit on an object (optional - against shoving) | |||
*send an IM to an avatar | |||
*(optional, since can be done via LSL too) send bulk IMs or items to a defined list of recipients (e.g. groupmembers in a certain role) | |||
*get an avatars UUID in case the name is provided ([http://www.libsecondlife.org/wiki/Name2key Name2Key]) | *get an avatars UUID in case the name is provided ([http://www.libsecondlife.org/wiki/Name2key Name2Key]) | ||
*add/remove avatars and objects to/from an access list | |||
</div></div> | |||
<div id="box"> | |||
== Suggested Syntax == | |||
<div style="padding: 0.5em"> | |||
===List of Groupmembers === | |||
In case the bot is asked to provide a list of groupmembers of a group in which it is in, the requesting object or avatar should send an IM to the bot, with | |||
groupmembers GROUPNAME | |||
The bot should then say on a certain channel | |||
list start | |||
member 1 --UUID | |||
member 2 --UUID | |||
... | |||
member n --UUID | |||
list end | |||
Example request: | |||
groupmembers The Beatles | |||
Example output: | |||
list start | |||
John Lennon --UUID | |||
Paul McCartney --UUID | |||
George Harrison --UUID | |||
Ringo Starr --UUID | |||
list end | |||
===List of Groupmembers in a certain Role=== | |||
Syntax: | |||
groupmembers GROUPNAME --rolename ROLENAME | |||
Example request: | |||
groupmembers The Beatles --rolename still alive | |||
Example output: | |||
list start | |||
Paul McCartney --UUID | |||
Ringo Starr --UUID | |||
list end | |||
=== Add to Group === | |||
Syntax: | |||
Add2Group AVATARNAME GROUPNAME | |||
Example request: | |||
Add2Group Roger Waters Pink Floyd | |||
The bot should give some kind of feedback when the request is sent (debug). For example on a certain channel | |||
An invitation to join Pink Floyd has been sent to Roger Waters. | |||
=== Eject from Group === | |||
Syntax: | |||
EjectFromGroup AVATARNAME GROUPNAME | |||
Example request: | |||
EjectFromGroup Kim Jong-il North-Korean Government | |||
Suggested output (debug): | |||
Kim Jong-il has been ejected from the group North-Korean Government. | |||
=== Assign to a certain Role === | |||
Syntax or bot might need to distinguish wether or not the appicant is already in the group. *needs more input* | |||
=== Remove from a certain Role === | |||
Syntax: | |||
RemoveFromRole AVATARNAME GROUPNAME --rolename ROLENAME | |||
Example request: | |||
RemoveFromRole Kim Jong-il North-Korean Government --rolename leader | |||
Feedback (debug) would be helpful again. Like | |||
Kim Jong-il has been removed from the role "leader" in the group North-Korean Government. | |||
=== Send IM === | |||
Syntax: | |||
IM AVATARNAME MESSAGE | |||
Example request: | |||
IM Torley Linden Friendly Greetings, ha ha! This automatted bot message tells you that you RAWK. | |||
Keep up the good work and plz join us for another Q&A session one day. Greetz, the VTeam Bot. | |||
=== InRole Test === | |||
Possibility to request (via IM) if an avatar is in a certain role or not.<br> | |||
Syntax: | |||
InRole AVATARNAME GROUPNAME --rolename ROLENAME | |||
Example request: | |||
InRole Thom Yorke Radiohead --rolename singer | |||
Example output: | |||
TRUE | |||
=== Name2Key === | |||
Syntax: | |||
Name2Key AVATARNAME | |||
Example request: | |||
Name2Key M Linden | |||
Example output (on a certain channel): | |||
244195d6-c9b7-4fd6-9229-c3a8b2e60e81 | |||
=== Add Master === | |||
Syntax: | |||
AddMaster UUID | |||
Example request: | |||
AddMaster dd1e79b2-ddfe-4080-8206-242ab63f4a19 | |||
Example output (debug): | |||
M Linden has been added to the access list. | |||
=== Remove Master === | |||
Syntax | |||
RemoveMaster UUID | |||
Example request: | |||
RemoveMaster dd1e79b2-ddfe-4080-8206-242ab63f4a19 | |||
Example output (debug): | |||
M Linden has been removed from the access list. | |||
</div></div> | |||
|valign="top" width="200 px"| | |||
{|align="center" width="200 px" | |||
|{{User:Zai_Lynch/Quick_Links}} | |||
|- | |||
|[[Image:Zai_landing.png|180px]] | |||
|} | |||
|} |
Latest revision as of 03:28, 18 August 2008
DisclaimerThis page lists ideas for a project which might become realised, but which is in no way official yet. It is a work in progress and just lists suggestions which are up for discussion at the related discussion page. Suggested UsageIn order to ensure that it becomes an official project, the bot should be hosted on a LL server. The account should have Linden access only. The bot should have a name which makes it obviouse for anyone that it is
Suggested name: VTeamBot Linden Invite to Q&A GroupA group inviter to the Q&A group, placed at the VTeam kiosk in SLVEC. The inviter item checks if the avatar requesting the invitation is currently in the Second Life Mentors group and asks if the Second Life Mentor Q&A page has been read and the guidelines been understood (via menu). In case the answer is No, the applicant gets a link to the Wiki page and is asked to apply again when s/he read it. In case the answer is Yes, the item sends an IM to the bot and the bot sends an invitation to the applicant.
Set to Opt-In Mentor RolesAnother item placed at the VTeam kiosk in SLVEC (could be the same item as above, but might cause less confusion in case it's another).
Process Apprentice MentorsAn item replacing the SLVEC Apprentice Buddy / Shadowing box. In case an avatar clicks it, the item checks if the avatar is currently in the Second Life Mentors group. A menu pops up, asking if the avatar would like to provide a list with attendees of an Orientation Class or a shadowing voucher.
Database: in case an entry in the database states, that an Avatar has attended an Orientation Class and has shadowed an Apprentice Buddy, the item requests the bot to
The database entry becomes deleted afterwards.
Orientation Class Attendence TestIn case the "Process Apprentice Mentors" feature from above becomes used, there could be an item requesting if wether or not an Apprentice Mentor has already attended an Orientation Session. So Apprentice Buddies can ensure that only those are shadowing them, who already attended the class.
VTeam UseThe VTeam could use the bot to send items or IMs to a defined range of recipients. Examples
It can also be used to easily ensure if a Mentor is in a certain role. So for example: Someone applies for beeing added to the "Apprentice Buddy" role, it got to be ensured that the applicant is a Buddy already. A VTeam member could write an IM to the bot, providing the name of the Mentor and it would reply if wether or not the Mentor is a Buddy already. This is optional, since the Buddy role is totally opt-in and just a few clicks away.
Bot RequirementsThe bot should have the ability to:
Suggested SyntaxList of GroupmembersIn case the bot is asked to provide a list of groupmembers of a group in which it is in, the requesting object or avatar should send an IM to the bot, with groupmembers GROUPNAME The bot should then say on a certain channel list start member 1 --UUID member 2 --UUID ... member n --UUID list end Example request: groupmembers The Beatles Example output: list start John Lennon --UUID Paul McCartney --UUID George Harrison --UUID Ringo Starr --UUID list end
List of Groupmembers in a certain RoleSyntax: groupmembers GROUPNAME --rolename ROLENAME Example request: groupmembers The Beatles --rolename still alive Example output: list start Paul McCartney --UUID Ringo Starr --UUID list end
Add to GroupSyntax: Add2Group AVATARNAME GROUPNAME Example request: Add2Group Roger Waters Pink Floyd The bot should give some kind of feedback when the request is sent (debug). For example on a certain channel An invitation to join Pink Floyd has been sent to Roger Waters.
Eject from GroupSyntax: EjectFromGroup AVATARNAME GROUPNAME Example request: EjectFromGroup Kim Jong-il North-Korean Government Suggested output (debug): Kim Jong-il has been ejected from the group North-Korean Government.
Assign to a certain RoleSyntax or bot might need to distinguish wether or not the appicant is already in the group. *needs more input*
Remove from a certain RoleSyntax: RemoveFromRole AVATARNAME GROUPNAME --rolename ROLENAME Example request: RemoveFromRole Kim Jong-il North-Korean Government --rolename leader Feedback (debug) would be helpful again. Like Kim Jong-il has been removed from the role "leader" in the group North-Korean Government.
Send IMSyntax: IM AVATARNAME MESSAGE Example request: IM Torley Linden Friendly Greetings, ha ha! This automatted bot message tells you that you RAWK. Keep up the good work and plz join us for another Q&A session one day. Greetz, the VTeam Bot. InRole TestPossibility to request (via IM) if an avatar is in a certain role or not. InRole AVATARNAME GROUPNAME --rolename ROLENAME Example request: InRole Thom Yorke Radiohead --rolename singer Example output: TRUE
Name2KeySyntax: Name2Key AVATARNAME Example request: Name2Key M Linden Example output (on a certain channel): 244195d6-c9b7-4fd6-9229-c3a8b2e60e81
Add MasterSyntax: AddMaster UUID Example request: AddMaster dd1e79b2-ddfe-4080-8206-242ab63f4a19 Example output (debug): M Linden has been added to the access list.
Remove MasterSyntax RemoveMaster UUID Example request: RemoveMaster dd1e79b2-ddfe-4080-8206-242ab63f4a19 Example output (debug): M Linden has been removed from the access list. |
|