Difference between revisions of "HTTP API/LSL Helper Functions"
From SmartBots Developers Docs
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 28: | Line 28: | ||
llHTTPRequest("https://api.mysmartbots.com/api/bot.html", | 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> |
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!"
]);