//for use by developers who want to track sales in world.
//this script triggers when an item is delivered
//place one in each item server that you want to record from
// Insert Your Webhook-URL here:
string WEBHOOK_URL = "https://discord.com/api/webhooks/987957068390613034/XZg4aV1YfwcnHLzN2GlmZup4xXbNcMF5LV9YkJmqdFy7I4PpsDUHK1BAzMV1s2HOdzzV";
integer WEBHOOK_WAIT = TRUE;
string TTS = "TRUE"; // Text To Speech
key REQUEST_KEY;
key SendToDiscord(string name, string message)
{
string query_string = "";
if(WEBHOOK_WAIT) query_string += "?wait=true";
return
llHTTPRequest
(
WEBHOOK_URL + query_string,
[
HTTP_METHOD, "POST",
HTTP_MIMETYPE, "application/json",
HTTP_VERIFY_CERT, TRUE,
HTTP_PRAGMA_NO_CACHE, TRUE,
HTTP_VERBOSE_THROTTLE, TRUE
],
llList2Json(JSON_OBJECT,
[
"username", name,
"content", message,
"tts", TTS
])
);
}
default
{
link_message(integer send, integer num, string message, key id)
{
if(num == -1111 && message !="")//transaction data input
{
string product;//unique product name
string buyer_name;//avatar who paid
key buyer_key;
string receiver_name;//avatar who owns the item
key receiver_key;
integer paid;//amount of lindens paid
integer product_id;
string item;//name of server item for this product
string transaction_type;//buy, gift, resend, demo
integer record_id;//sales id, demo id or resend record id
string datetime;
if(llJsonGetValue(message,["product"])!= JSON_INVALID)
product = llJsonGetValue(message,["product"]);
if(llJsonGetValue(message,["buyer_key"])!= JSON_INVALID)
buyer_key = (key)llJsonGetValue(message,["buyer_key"]);
if(llJsonGetValue(message,["buyer_name"])!= JSON_INVALID)
buyer_name = llJsonGetValue(message,["buyer_name"]);
if(llJsonGetValue(message,["receiver_key"])!= JSON_INVALID)
receiver_key = (key)llJsonGetValue(message,["receiver_key"]);
if(llJsonGetValue(message,["receiver_name"])!= JSON_INVALID)
receiver_name = llJsonGetValue(message,["receiver_name"]);
if(llJsonGetValue(message,["paid"])!= JSON_INVALID)
paid = (integer)llJsonGetValue(message,["paid"]);
if(llJsonGetValue(message,["product_id"])!= JSON_INVALID)
product_id = (integer)llJsonGetValue(message,["product_id"]);
if(llJsonGetValue(message,["item"])!= JSON_INVALID)
item = llJsonGetValue(message,["item"]);
if(llJsonGetValue(message,["type"])!= JSON_INVALID)
transaction_type = llJsonGetValue(message,["type"]);
if(llJsonGetValue(message,["record_id"])!= JSON_INVALID)//id of sale, demo or resend record
record_id = (integer)llJsonGetValue(message,["record_id"]);
if(llJsonGetValue(message,["datetime"])!= JSON_INVALID)
datetime = llJsonGetValue(message,["datetime"]);
//do stuff with the data...
llOwnerSay("datetime:"+datetime+
"\ntransaction type:"+transaction_type+
"\nbuyer:"+buyer_name+" "+(string)buyer_key+
"\nreceiver:"+receiver_name+" "+(string)receiver_key+
"\nproduct:"+product+
"\nproduct id:"+(string)product_id+
"\nserver item:"+(string)item+
"\npaid:"+(string)paid+
"\nrecord id:"+(string)record_id);
string sendText = "Hello! "+buyer_name+" just bought a '"+item+"' from you";
REQUEST_KEY = SendToDiscord(buyer_name, sendText);
}
}
http_response(key request_id, integer status, list metadata, string body)
{
if(REQUEST_KEY==request_id && WEBHOOK_WAIT);// llOwnerSay(body);
}
}
Comments
0 B
|👍
/👎