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

From SmartBots Developers Docs
Jump to: navigation, search
(Created page with "The following functions will help you controlling bots from LSL scripts: {{API HTTP Example Boilerplate}} {{NavMenu}} __NOTOC__")
 
Line 1: Line 1:
The following functions will help you controlling bots from LSL scripts:
+
The following functions will help you controlling bots from LSL scripts.
 +
 
 +
<syntaxhighlight lang="lsl">
 +
/**
 +
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);
 +
}
 +
</syntaxhighlight>
 +
 
 +
Usage example:
 +
 
 +
<syntaxhighlight lang="lsl">/*
 +
smartbotsAPI("im", [
 +
  "slname", "Glaznah Gassner",
 +
  "message", "Hello in-world!"
 +
]);
 +
</syntaxhighlight>
  
{{API HTTP Example Boilerplate}}
 
  
  

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!"
]);