Difference between revisions of "User:Zai Lynch/Public Suggestion Box/VTeam Bot"
(suggestions, syntax & disclaimer added) |
m (User:Zai Lynch/Sandbox/Bot moved to User:Zai Lynch/Public Suggestion Box/VTeam Bot: better place) |
(No difference)
|
Revision as of 08:09, 25 June 2008
Disclaimer
This 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 Usage
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).
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. I would suggest to use the automatted invite for the roles Buddy, Coach, Greeter and Linguist. The roles Apprentice Buddy, Orientation Coach and 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.
The item could also give the ability to leave a role again. In case the Mentor leaves the Apprentice Buddy role, the connected 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.
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.
Bot Requirements
The bot should have the ability to:
- invite to a group
- eject from the group
- assign to a role
- remove from a role
- retrieve a list of groupmembers
- retrieve a list of groupmembers who are in a certain role
- listen to IMs from (certain) avatars and objects
- 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 (Name2Key)
- add/remove avatars and objects to/from an access list
Suggested Syntax
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. 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:
AddMaster dd1e79b2-ddfe-4080-8206-242ab63f4a19
Example output (debug):
M Linden has been removed from the access list.