Difference between revisions of "TotalControl for LSL/Commands/BOT STATUS QUERY"
From SmartBots Developers Docs
								| (8 intermediate revisions by 2 users not shown) | |||
| Line 8: | Line 8: | ||
{{API Variables Table}}  | {{API Variables Table}}  | ||
| − | {{AdminBot Required Vars|  | + | {{AdminBot Required Vars|BOT_STATUS_QUERY}}  | 
{{API Variable|str|yes}} ---  | {{API Variable|str|yes}} ---  | ||
{{API Variable|id|yes}} ---  | {{API Variable|id|yes}} ---  | ||
| Line 15: | Line 15: | ||
{{AdminBot Event after Bot Command|BOT_EVENT_STATUS_REPLY|BOT_EVENT_STATUS_REPLY}}  | {{AdminBot Event after Bot Command|BOT_EVENT_STATUS_REPLY|BOT_EVENT_STATUS_REPLY}}  | ||
| − | {{AdminBot Event after Command Entry|str}} first line - bot status code (see all codes [[Usage/Status_Codes|here]])  | + | {{AdminBot Event after Command Entry|str}}String representing the bot's status:  | 
| − | + | ||
| − | + | # first line - bot status code (see all codes [[Usage/Status_Codes|here]])<br>  | |
| + | # second line - bot expiration date<br>  | ||
| + | # third line - bot online status  | ||
| + | |||
| + | Online statuses:  | ||
| + | * ONLINE - Bot is online  | ||
| + | * LOGGED OUT - Bot was logged out by gracefully  | ||
| + | * CONNECTING - The bot is logging in  | ||
| + | * OFFLINE - Bot is expired or has an error  | ||
| + | |||
| + | Example:  | ||
| + | |||
| + |  OK  | ||
| + |  2019-03-10 00:00  | ||
| + |  LOGGED OUT  | ||
| + | |||
{{AdminBot Event after Command Entry|id}} Bot UUID  | {{AdminBot Event after Command Entry|id}} Bot UUID  | ||
{{AdminBot Event after Command End}}  | {{AdminBot Event after Command End}}  | ||
| + | |||
| + | == Example ==  | ||
| + | |||
| + | <syntaxhighlight lang="lsl">  | ||
| + | integer BOT_SETUP_SETBOT = 280101;  | ||
| + | integer BOT_STATUS_QUERY = 280106;  | ||
| + | |||
| + | integer READY = FALSE;  | ||
| + | |||
| + | string name = "SmartBots Resident";  | ||
| + | string accesscode = "f7dheb7fba9";  | ||
| + | |||
| + | default  | ||
| + | {  | ||
| + | 	state_entry()  | ||
| + | 	{  | ||
| + | 		llMessageLinked(LINK_SET,BOT_SETUP_SETBOT,name,accesscode);  | ||
| + | 	}  | ||
| + | |||
| + | 	touch_start(integer total_number)  | ||
| + | 	{  | ||
| + | 		if (READY) {  | ||
| + | 			llMessageLinked(LINK_SET,BOT_STATUS_QUERY,"","");  | ||
| + | 		} else {  | ||
| + | 			llOwnerSay("The bot is not ready. If you received a Setup Failed message then please check your access code is correct, otherwise please try again in a moment.");  | ||
| + | 		}  | ||
| + | 	}  | ||
| + | |||
| + | 	link_message(integer sender, integer cmd, string data, key idk) {  | ||
| + | 		string id = (string)idk;  | ||
| + | 		if(cmd == BOT_SETUP_SUCCESS) {  | ||
| + | 			READY = TRUE;  | ||
| + | 			llOwnerSay("Setup Success: data=" + data + "\nkey= " + id);  | ||
| + | 		} else if(cmd == BOT_SETUP_FAILED ) {  | ||
| + | 			READY = FALSE;  | ||
| + | 			llOwnerSay("Setup Failed: data=" + data + "\nkey= " + id);  | ||
| + | 		} else if(cmd == BOT_EVENT_STATUS_REPLY ) {  | ||
| + | 			llOwnerSay("Status: data = " + data + "\nkey= " + id);  | ||
| + | 		}  | ||
| + | 	}  | ||
| + | }  | ||
| + | </syntaxhighlight>  | ||
{{AdminBot for Bots Commands - standard footer}}  | {{AdminBot for Bots Commands - standard footer}}  | ||
Latest revision as of 23:12, 11 March 2019
Queries the selected bot status (useful to determine the subscription length). Result is being returned using BOT_EVENT_STATUS_REPLY event
llMessageLinked(LINK_SET,BOT_STATUS_QUERY,"","");
Variables
The following table shows input values (you send them with the API call) and returned output values.
| Variable | Required |  Description
 
  | |
|---|---|---|---|
| str | yes | --- | |
| id | yes | --- | |
Return value
The result of this command will be returned to your script using BOT_EVENT_STATUS_REPLY event:
link_message( integer sender, integer num, string str, key id )
 | |||
| sender | link number of a sender prim | ||
| num | BOT_EVENT_STATUS_REPLY | ||
| str | String representing the bot's status:
 Online statuses: 
 Example: OK 2019-03-10 00:00 LOGGED OUT  | ||
| id | Bot UUID | ||
Example
integer BOT_SETUP_SETBOT = 280101;
integer BOT_STATUS_QUERY = 280106;
integer READY = FALSE;
string name = "SmartBots Resident";
string accesscode = "f7dheb7fba9";
default
{
	state_entry()
	{
		llMessageLinked(LINK_SET,BOT_SETUP_SETBOT,name,accesscode);
	}
	touch_start(integer total_number)
	{
		if (READY) {
			llMessageLinked(LINK_SET,BOT_STATUS_QUERY,"","");
		} else {
			llOwnerSay("The bot is not ready. If you received a Setup Failed message then please check your access code is correct, otherwise please try again in a moment.");
		}
	}
	link_message(integer sender, integer cmd, string data, key idk) {
		string id = (string)idk;
		if(cmd == BOT_SETUP_SUCCESS) {
			READY = TRUE;
			llOwnerSay("Setup Success: data=" + data + "\nkey= " + id);
		} else if(cmd == BOT_SETUP_FAILED ) {
			READY = FALSE;
			llOwnerSay("Setup Failed: data=" + data + "\nkey= " + id);
		} else if(cmd == BOT_EVENT_STATUS_REPLY ) {
			llOwnerSay("Status: data = " + data + "\nkey= " + id);
		}
	}
}