Difference between revisions of "HTTP API/LSL Helper Functions"

From SmartBots Developers Docs
Jump to: navigation, search
Line 33: Line 33:
 
Usage example:
 
Usage example:
  
<syntaxhighlight lang="lsl">/*
+
<syntaxhighlight lang="lsl">
 
smartbotsAPI("im", [
 
smartbotsAPI("im", [
 
   "slname", "Glaznah Gassner",
 
   "slname", "Glaznah Gassner",

Revision as of 22:00, 2 May 2017

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("http://api.mysmartbots.com/api/bot.html",
    [HTTP_METHOD,"POST"], queryString);
}

Usage example:

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