listgroups_extended
Returns the bot's groups list, with additional details. (For another avatar’s groups, use the avatar_groups command.)
// See "LSL Helper Functions" page for this function
smartbotsAPI("listgroups_extended", []);Variables
The following table shows input values (you send them with the API call) and returned output values.
Input basic parameters
Variable | Required | Description |
|---|---|---|
action | yes | = listgroups_extended |
apikey | yes | Your personal developer's API key |
botname | yes | Your bot's SL login |
secret | yes | Bot API token of your bot |
dataType | optional | Set to "json" to get JSON reply instead of URL-encoded string |
custom | optional | The custom data (string) to be passed back to caller script. This value will be returned back to the caller in HTTP response |
Output
(To be received in http_response LSL event, see docs for details)
Variable | Description |
|---|---|
result | OK - command completed successfully |
resulttext | Detailed reason for the failure |
custom | The value from input "custom" parameter. See above |
groups | The JSON-array (only JSON!) containing bot's groups (see below) |
Format
The API command returns the bot's groups with additional details. Response interface:
interface listgroups_extended.groups {
// the name of the group
name: string;
// the group UUID
uuid: string;
// the comma-separated list of bot's permissions
permissions: string;
// 1 if group is open to join, 0 otherwise
open: "0" | "1";
// the group joining price (0 when free)
fee: number;
}Return value
This command returns complex response and available only when requesting JSON output (dataType=json).
Also note that order of the group details (name, uuid etc) in the object may vary (see the order in example below).
Limiting the response length
The result may be quite long for LSL HTTP query since it is limited to 1024 characters. To limit the result to specific group only, use limit_nameand limit_uuid parameters. See “Examples”.
Examples
The example of the groups list returned:
{
"action": "listgroups_extended",
"result": "OK",
"groups": [
{
"name": "HMG SYSTEM",
"uuid": "051b19c0-2deb-a716-8894-1cf5701bf6e6",
"open": 0,
"fee": "0",
"permissions": "JoinChat,AllowVoiceChat,AllowSetHome,Accountable,ReceiveNotices"
},
{
"name": "Earn2Life - earn L$500-1000 a day",
"uuid": "41ff4c6b-e3c0-a2b9-f53b-797e78532374",
"fee": "0",
"open": 0,
"permissions": "Invite,Eject,AssignMemberLimited,RemoveMember,JoinChat,AllowFly,AllowLandmark,AllowVoiceChat,AllowSetHome,LandManageAllowed,LandManageBanned,LandEjectAndFreeze,ModerateChat,SendNotices,ReceiveNotices,StartProposal,VoteOnProposal,MemberVisible"
},
{
"name": ".oO [KB] Kitty Boom Oo.",
"uuid": "5611bcb8-8a0f-be6e-2e17-b3c6ec629716",
"open": 0,
"fee": "0",
"permissions": "JoinChat,AllowVoiceChat,AllowSetHome,Accountable,ReceiveNotices"
}
]
}Limiting the response length
The example of the limit_name=Earn2 parameter usage:
{
"action": "listgroups_extended",
"result": "OK",
"groups": [
{
"name": "Earn2Life - earn L$500-1000 a day",
"uuid": "41ff4c6b-e3c0-a2b9-f53b-797e78532374",
"fee": "0",
"open": 0,
"permissions": "Invite,Eject,AssignMemberLimited,RemoveMember,JoinChat,AllowFly,AllowLandmark,AllowVoiceChat,AllowSetHome,LandManageAllowed,LandManageBanned,LandEjectAndFreeze,ModerateChat,SendNotices,ReceiveNotices,StartProposal,VoteOnProposal,MemberVisible"
}
]
}