SmartBots (SmartBots2Life)

Second Life group direct invitation bots

Contents

Support Managers

Glaznah Gassner online
English, Russian
Lance Swain online
English
QuincyJohnes online
English, Russian
Rehnaeaislinn online
English
show offline managers
English, German, Japanese

Notify tenant's guest or partner about they being added (SSTI API Example)

The following code sends notification to the tenant's guest/partner when they are being added to the Hippo box:

// Server API
// Commands:
integer SSTI_SERV_API_CUSTOM_BUTTON=-45050001;
integer SSTI_SERV_API_GET_GROUP=-45050002;
integer SSTI_SERV_API_GET_CLOUD=-45050003;
integer SSTI_SERV_API_BOX_CUSTOM_BUTTON=-45050004;
integer SSTI_SERV_API_GET_PARAM=-45050005;
integer SSTI_SERV_API_CUSTOM_HTTP_BUTTONS=-45050006;
integer SSTI_SERV_API_HTTP_REPLY=-45050007;
 
// Events:
integer SSTI_SERV_EVENT_INITIALIZED=-45060001;
integer SSTI_SERV_EVENT_CUSTOM_BUTTON=-45060002;
integer SSTI_SERV_EVENT_GROUP=-45060003;
integer SSTI_SERV_EVENT_CLOUD=-45060004;
integer SSTI_SERV_EVENT_BOX_CUSTOM_BUTTON=-45060005;
integer SSTI_SERV_EVENT_PARAM=-45060006;
integer SSTI_SERV_EVENT_RESET=-45060007;
integer SSTI_SERV_EVENT_LOCALURL=-45060008;
integer SSTI_SERV_EVENT_HTTPBUTTON=-45060009;
integer SSTI_SERV_EVENT_TENANT=-45060010;
integer SSTI_SERV_EVENT_NEW_GUESTPARTNER=-45060011;
integer SSTI_SERV_EVENT_GUESTPARTNER_REMOVED=-45060012;
//
// Example code starts here
default {
    link_message(integer sender, integer cmd, string str, key id) {
        // Track invitations
        if(cmd == SSTI_SERV_EVENT_NEW_GUESTPARTNER) {
            llOwnerSay("New guest/partner: " + str);
 
            list parts = llParseStringKeepNulls(str, [";"], []);
            string type = llList2String(parts, 0);
            string tenant = llList2String(parts, 1);
            key tenant_uuid = llList2Key(parts, 2);
            key box_uuid = llList2String(parts, 3);
            string box_loc = llList2String(parts, 4);
 
            llInstantMessage(id, "Dear resident, you has been added as a " +
                type + ":\n" +
                "tenant: " + tenant + " (" + (string)tenant_uuid + ")\n" +
                "box: " + box_loc + " (" + (string)box_uuid + ")\n");
        }
 
        // Track removal
        if(cmd == SSTI_SERV_EVENT_GUESTPARTNER_REMOVED) {
            llOwnerSay("Removed guest/partner: " + str);
 
            list parts = llParseStringKeepNulls(str, [";"], []);
            string type = llList2String(parts, 0);
            string tenant = llList2String(parts, 1);
            key tenant_uuid = llList2Key(parts, 2);
            key box_uuid = llList2String(parts, 3);
            string box_loc = llList2String(parts, 4);
 
            llInstantMessage(id, "Dear resident, you are not a " +
                type + " of " + tenant + " anymore\n" + 
                "(box " + (string)box_uuid + " at " + box_loc + ")");
        }
    }
}

Questions, wishes and discussion