sim_access

Control access to the sim.

smartbotsAPI("sim_access", [
  "avatar", UUID, 
  "operation", OPERATION,
  "all_estates", TRUE
]); // See "LSL Helper Functions" page for this function

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

= sim_access

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

The custom data (string) to be passed back to caller script. This value will be returned back to the caller in HTTP response.

Input

Variable

Required

Description

avatar

yes

The resident to manage access for

operation

yes

The operation to perform. One of the following:

• ban - add to ban list
• unban - remove from ban list
• allow - add to allowed list
• disallow - remove from allowed list

all_estates

optional

If TRUE (or 1), perform operation for all estates available for bot

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 input "custom" parameter. See above.

Comments

"allow" and "disallow" operations work with a "Allowed residents" list. This list is taken into account only if your sim is private (has "Allow public access" option off).

"disallow" and "ban" operations are not the same. "ban" ejects resident from the sim, and prevents him from returning back, while "disallow" removes resident from the "allowed residents" access list.

Also:

  • You have to teleport to the region first.

  • To execute this function your bot needs to be an Estate Manager.

  • You don't need a "Sim Governor" add-on to use this function.

Examples

Teleport to DuoLife region and ban BartenderJoe:

// You need to adjust the vars below:
string sbApiKey = "...";
string sbBotName = "...";
string sbBotAccessCode = "...";

string myHome = "DuoLife/128/128/20";

// First, teleport to the desired region

string params = llDumpList2String([
  "action="  + "teleport",
  "location=" + llEscapeURL(myHome),
  "apikey="  + llEscapeURL(sbApiKey),
  "botname=" + llEscapeURL(sbBotName),
  "secret="  + llEscapeURL(sbBotAccessCode)
  ], "&");

llHTTPRequest("https://api.mysmartbots.com/api/bot.html",
  [HTTP_METHOD,"POST"], params);

// Then restart it:
params = llDumpList2String([
  "action="  + "sim_access",
  "avatar=" + "bc3af7d6-f089-4b57-b78e-473334af01cb",
  "operation=" + "ban",
  "all_estates=" + "0"
  ], "&");

llHTTPRequest("https://api.mysmartbots.com/api/bot.html",
  [HTTP_METHOD,"POST"], params);