Dashboard
Bot Overview
Bot Management
Status Logs
| Time | Bot | Status | Message | Attempt |
|---|
Settings
AI Chat Settings (Global Defaults)
Admin-configured. Users can override per-bot. ⚠️ Experimental — use at your own risk.
🔊 Text-to-Speech (Riley Voice)
SpeechGen.io Riley (Chirp3-HD) — paste browser cookies to bypass bot detection.
LSL Example Code (TTS + Inventory)
string tts_url = "https://your-server/api/lsl/tts.php";
string api_key = "YOUR_BOT_API_KEY";
key req = llHTTPRequest(tts_url + "?text=" + llEscapeURL("Hello!") + "&api_key=" + api_key, [HTTP_METHOD_GET], "");
// http_response: body = asset UUID → llPlaySound(body, 1.0);
string list_url = "https://your-server/api/lsl/list.php"; key req = llHTTPRequest(list_url + "?api_key=" + api_key, [HTTP_METHOD_GET], ""); // http_response: lines of "name|item_id|type"
string rm_url = "https://your-server/api/lsl/inventory/remove"; key req = llHTTPRequest(rm_url + "?item_id=UUID&api_key=" + api_key, [HTTP_METHOD_GET], ""); // http_response: "ok" or "error: ..."
string mv_url = "https://your-server/api/lsl/inventory/move"; key req = llHTTPRequest(mv_url + "?item_id=UUID&folder_id=UUID&api_key=" + api_key, [HTTP_METHOD_GET], ""); // http_response: "ok" or "error: ..."
string mkdir_url = "https://your-server/api/lsl/inventory/create-folder"; key req = llHTTPRequest(mkdir_url + "?name=My+Folder&api_key=" + api_key, [HTTP_METHOD_GET], ""); // http_response: folder_uuid (use this as folder_id in list/move)
System Info
| Backend | ... |
| Uptime | ... |
Account
Logged in as ...
Uploads
Upload Texture
Upload a PNG/TGA/JPG texture to Second Life inventory.
Upload Sound
Upload a WAV sound to Second Life inventory.
Upload Mesh
Upload a DAE/GLB/GLTF mesh. Fee will be calculated first.
Upload Jobs
| ID | Type | Name | Status | Created | Actions |
|---|
Upload Statistics
Recent Uploads
| ID | Type | Name | Status | Error |
|---|
IM Center
Inbox
| From | Message | Time | Actions |
|---|
Send IM
History with Avatar
Local Chat
Group IM
Group History
Block List
| Avatar ID | Reason | Actions |
|---|
Allow List
| Avatar ID | Note | Actions |
|---|
Full IM History
| Direction | From/To | Message | Time |
|---|
Money
Transfer L$
Transactions
| ID | Action | Amount | Avatar | Time |
|---|
Inventory
| Name | Type | UUID | Actions |
|---|---|---|---|
| Loading inventory… | |||
Create Notecard
Friendship Offer
Discord Bridge
Bridge Settings
⚠️ Restart backend container for changes to take effect.
Channel Mappings
| ID | Discord Channel | SL Group | Group Name | Enabled | Actions |
|---|
Bridge Message Log
| Direction | From | Message | Time |
|---|
Teleport Spots
Restart-Escape Teleport Spots
These are the fallback locations the bot will teleport to if it loses connection.
Debug
Login Keys
Capabilities
Teleport Spots (Debug)
👥 User Management
Users
| ID | Username | Display Name | Role | Last Login | Bot Access | Actions |
|---|
🔗 LSL API Reference
Call these from in-world LSL scripts. All need a bot's API key for auth. Your API key appears at the top of each example.
🔑 Bot API Keys
| Bot | Status | API Key |
|---|
🔊 TTS — Text to Speech
Generates speech via Microsoft edge-tts, uploads to SL as OGG, returns asset UUID.
GET /api/lsl/tts.php?text=Hello+world&api_key=BOT_KEY → body = asset_uuid (use with llPlaySound(body, 1.0))
LSL Example
string url = "https://YOUR_SERVER/api/lsl/tts.php";
string key = "YOUR_BOT_API_KEY";
key req = llHTTPRequest(url + "?text=" + llEscapeURL("Hello!") + "&api_key=" + key, [HTTP_METHOD_GET], "");
// http_response: body = "asset-uuid" → llPlaySound(body, 1.0);
📋 Inventory — List Folder Contents
Returns all folders and items in a folder. Lines: [FOLDER] name|folder_id or name|item_id|type.
GET /api/lsl/list.php?folder_id=UUID&api_key=BOT_KEY → body = lines of "[FOLDER] MyFolder|folder-uuid" / "item-name|item-uuid|type"
LSL Example
string list_url = "https://YOUR_SERVER/api/lsl/list.php"; key req = llHTTPRequest(list_url + "?folder_id=&api_key=" + key, [HTTP_METHOD_GET], ""); // omit folder_id for root → parse lines with llCSV2List()
📁 Inventory — Create Folder
Creates a new inventory folder. Returns the new folder's UUID.
GET /api/lsl/create-folder.php?name=MyStuff&api_key=BOT_KEY → body = folder_uuid
LSL Example
string mkdir_url = "https://YOUR_SERVER/api/lsl/create-folder.php"; key req = llHTTPRequest(mkdir_url + "?name=My+Folder&api_key=" + key, [HTTP_METHOD_GET], ""); // response = "folder-uuid"
📂 Inventory — Move Item
Moves an inventory item into a different folder.
GET /api/lsl/inventory/move?item_id=UUID&folder_id=UUID&api_key=BOT_KEY → body = "ok" (or "error: ...")
LSL Example
string mv_url = "https://YOUR_SERVER/api/lsl/inventory/move"; key req = llHTTPRequest(mv_url + "?item_id=" + item + "&folder_id=" + folder + "&api_key=" + key, [HTTP_METHOD_GET], ""); // response = "ok"
🗑️ Inventory — Remove Item
Permanently removes an inventory item by UUID.
GET /api/lsl/inventory/remove?item_id=UUID&api_key=BOT_KEY → body = "ok" (or "error: ...")
LSL Example
string rm_url = "https://YOUR_SERVER/api/lsl/inventory/remove"; key req = llHTTPRequest(rm_url + "?item_id=" + item + "&api_key=" + key, [HTTP_METHOD_GET], ""); // response = "ok"
💰 LSL Pay Mom
Sends L$ to a fixed recipient (configured via TASIA_MONEY_PAY_UUID env var).
GET /api/lsl/pay-mom?amount=10&api_key=BOT_KEY → body = "ok"