HTTP API/LSL Helper Functions

From SmartBots Developers Docs
HTTP API
Revision as of 14:35, 14 October 2019 by Gg (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following functions will help you controlling bots from LSL scripts.

/**
* Send SmartBots HTTP API command.
*/
smartbotsAPI(string command, list params) {
  // You need to adjust the vars below:
  string sbApiKey = "...";
  string sbBotName = "...";
  string sbBotAccessCode = "...";

  // Populate the query data
  list query = [
    "action="  + command,
    "apikey="  + llEscapeURL(sbApiKey),
    "botname=" + llEscapeURL(sbBotName),
    "secret="  + llEscapeURL(sbBotAccessCode)
  ];

  integer i;
  for(i = 0; i<llGetListLength(params); i += 2) {
    query += [ llList2String(params, i) + "=" + llEscapeURL(llList2String(params, i+1)) ];
  }

  string queryString = llDumpList2String(query, "&");
 
  llHTTPRequest("https://api.mysmartbots.com/api/bot.html",
    [HTTP_METHOD,"POST"], queryString);
}

/**
* Send request to SmartBots API and expect the JSON response.
*/
smartbotsAPIJSON(string command, list params) {
    smartbotsAPI(command, params + ["dataType", "json"]);
}

Usage example:

smartbotsAPI("im", [
  "slname", "Glaznah Gassner",
  "message", "Hello in-world!"
]);