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 access code of your bot

dataType

optional

Set to "json" to get JSON reply instead of URL-encoded string

custom

optional

Custom data (string) to be passed back to caller script. Returned in the HTTP response

Output

(To be received in http_response LSL event — see docs for details)

Variable

Description

result

OK— command completed successfully
FAIL — command failed

resulttext

Detailed reason for the failure

custom

The value from the input "custom" parameter

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"
    }
  ]
}