Difference between revisions of "HTTP API/LSL Helper Functions"
From SmartBots Developers Docs
								| (2 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
<syntaxhighlight lang="lsl">  | <syntaxhighlight lang="lsl">  | ||
/**  | /**  | ||
| − | Send SmartBots HTTP API command.  | + | * Send SmartBots HTTP API command.  | 
*/  | */  | ||
smartbotsAPI(string command, list params) {  | smartbotsAPI(string command, list params) {  | ||
| Line 26: | Line 26: | ||
   string queryString = llDumpList2String(query, "&");  |    string queryString = llDumpList2String(query, "&");  | ||
| − |    llHTTPRequest("  | + |    llHTTPRequest("https://api.mysmartbots.com/api/bot.html",  | 
     [HTTP_METHOD,"POST"], queryString);  |      [HTTP_METHOD,"POST"], queryString);  | ||
| + | }  | ||
| + | |||
| + | /**  | ||
| + | * Send request to SmartBots API and expect the JSON response.  | ||
| + | */  | ||
| + | smartbotsAPIJSON(string command, list params) {  | ||
| + |     smartbotsAPI(command, params + ["dataType", "json"]);  | ||
}  | }  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
| Line 33: | Line 40: | ||
Usage example:  | Usage example:  | ||
| − | <syntaxhighlight lang="lsl">  | + | <syntaxhighlight lang="lsl">  | 
smartbotsAPI("im", [  | smartbotsAPI("im", [  | ||
   "slname", "Glaznah Gassner",  |    "slname", "Glaznah Gassner",  | ||
Latest revision as of 14:35, 14 October 2019
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!"
]);