Control your Second Life bots from LSL scripts, PHP, Python, or any language that speaks HTTP.
LSL ExamplesPick your language, paste it into your script and put in your API key and bot name. Every example on this page uses it.
string apiKey = "YOUR_API_KEY";
string botName = "Firstname Lastname";
moonbotsAPI(string action, list params)
{
string body = "action=" + action
+ "&apikey=" + llEscapeURL(apiKey)
+ "&botname=" + llEscapeURL(botName);
integer i;
for (i = 0; i < llGetListLength(params); i += 2)
body += "&" + llList2String(params, i) + "="
+ llEscapeURL(llList2String(params, i + 1));
llHTTPRequest("https://moonbots.co/api/bot.php",
[HTTP_METHOD, "POST",
HTTP_MIMETYPE, "application/x-www-form-urlencoded"],
body);
}
default
{
touch_start(integer n)
{
moonbotsAPI("im", ["slname", "Yaueger Resident",
"message", "Hello!"]);
}
http_response(key id, integer status, list meta, string body)
{
llOwnerSay("API: " + body);
}
}Each reply comes back as lines of name=value. Add dataType=json to any call if you'd rather have JSON.
result=OK status=online_1 region=MoonBots
Each call uses 1 credit. Every bot you have adds credits to your daily pool, and all your keys share it. The pool fills back up at midnight SLT.
You don't need to write any code to make your bot do things on its own. Bot Routines let you set up simple rules from your bot's page, a bit like telling a helper "when this happens, do that".
Here are two simple ones to give you the idea:
When someone in local chat says hello, say "Hi %SL_NAME%, welcome to our store!"
At 3:00 am SLT every day, restart the bot.
To make your own, open your bot from your manage page and click Bot Routines. The Routine Library has ready made ones you can add with one click.
Nothing extra. Just send action, apikey and botname.
| status | ONLINE, PRE-CONNECTING, CONNECTING, LOGGED_OUT or OFFLINE. |
| online | 1 if the bot is online, 0 if not. |
| slname | The bot's Second Life name. |
| uuid | The bot's UUID. |
| location | The region and position the bot is at. |
| slurl | A map link to where the bot is. |
result=OK status=ONLINE online=1 slname=Moonbots Resident uuid=7d32f86c-4b44-494a-b90b-fc0d4e3f71bf location=MoonBots/128/128/25 slurl=https://maps.secondlife.com/secondlife/MoonBots/128/128/25
moonbotsAPI("status", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| status | PENDING_STARTUP while the bot logs in. |
| message | A short note about what happened. |
result=OK status=PENDING_STARTUP message=Login sequence started
moonbotsAPI("login", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| status | OFFLINE once the bot has logged out. |
| message | A short note about what happened. |
result=OK status=OFFLINE message=Logout sequence completed
moonbotsAPI("logout", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| status | PENDING_RESTART while the bot restarts. |
| message | A short note about what happened. |
result=OK status=PENDING_RESTART message=Restart sequence started
moonbotsAPI("restart", []);These use the helper script from Getting Started.
| url | Your web address that will receive the events, like "https://example.com/bot.php". Leave it empty to turn callbacks off. | Required |
| events | Which events to send, separated by commas, or "all". Choose from group_invite, start_typing, instant_message, chat_message, balance_changed, script_dialog, online_status, teleport_status, group_message, offer_inventory, offer_friendship, offer_teleport, offer_friendship_accepted, offer_friendship_declined and permission_request. Default: all. | Optional |
| operation | Use "remove" to turn callbacks off. Default: add. | Optional |
Plus action, apikey and botname, like every call.
| callback | set or removed. |
| events | The events that will be sent. |
result=OK callback=set events=all
moonbotsAPI("set_http_callback", [
"url", "https://example.com/bot.php"
]);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| message | What to say, like "Hello from my bot!". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("im", [
"slname", "Yaueger Resident",
"message", "Hello from my bot!"
]);These use the helper script from Getting Started.
| message | What to say, like "Welcome to the store!". | Required |
| chat_type | Normal, Whisper or Shout. Default: Normal. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("say_chat_channel", [
"message", "Welcome to the store!"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
| message | What to say, like "Event starting now!". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("send_group_im", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a",
"message", "Event starting now!"
]);These use the helper script from Getting Started.
| channel | The menu's channel number, like "-12345". | Required |
| button | The button text to click, like "Accept". | Required |
| object_uuid | The UUID of the object that showed the menu. | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("reply_dialog", [
"channel", "-12345",
"button", "Accept",
"object_uuid", "abcdef12-3456-7890-abcd-ef1234567890"
]);These use the helper script from Getting Started.
| delay | How many seconds to keep typing before it stops by itself, like "15". Default: 15. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("typing_start", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
result=OK
moonbotsAPI("typing_stop", []);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| message | The message sent with the offer, like "Would you like to be my friend?". This is also the default. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("offer_friendship", [
"slname", "Yaueger Resident"
]);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("cancel_friendship", [
"slname", "Yaueger Resident"
]);These use the helper script from Getting Started.
| slkey | The friend's UUID or name, like "Yaueger Resident". | Required |
| see_online | 1 to let them see when the bot is online, 0 to hide it. | Optional |
| see_on_map | 1 to let them find the bot on the map, 0 to hide it. | Optional |
| can_edit | 1 to let them edit the bot's objects, 0 to stop them. | Optional |
Plus action, apikey and botname, like every call.
| see_online | 1 or 0 after the change. |
| see_on_map | 1 or 0 after the change. |
| can_edit | 1 or 0 after the change. |
result=OK see_online=1 see_on_map=0 can_edit=0
moonbotsAPI("edit_friendship", [
"slkey", "Yaueger Resident"
]);These use the helper script from Getting Started.
| slname | The person's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The person's UUID. Use this instead of slname if you have it. | Optional |
| item | The UUID of the item or folder in the bot's inventory, like "a1b2c3d4-e5f6-7890-abcd-ef1234567890". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("inventory_give", [
"slname", "Yaueger Resident",
"item", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]);These use the helper script from Getting Started.
| item | The item's inventory UUID or its folder path, like "/Clothing/Red Dress". | Required |
| replace | "true" to swap out what is worn in the same spot, "false" to add it. Default: false. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("wear", [
"item", "/Clothing/Red Dress"
]);These use the helper script from Getting Started.
| item | The item's inventory UUID or its folder path, like "/Clothing/Red Dress". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("takeoff", [
"item", "/Clothing/Red Dress"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
result=OK
moonbotsAPI("rebake", []);These use the helper script from Getting Started.
| path | The folder to list, like "/Objects". Default: the top of the inventory. | Optional |
Plus action, apikey and botname, like every call.
| data | A list of name, item, type, permissions and time for each entry, all separated by commas. |
result=OK data=name,Red Dress,item,b572d860-1c2e-4f0a-9d3b-5e8a7c61f204,type,Clothing,permissions,cmvt,time,2026-09-01T14:22:05Z
moonbotsAPI("inventory_list", []);These use the helper script from Getting Started.
| item | The UUID of the item to delete. | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("inventory_delete", [
"item", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]);These use the helper script from Getting Started.
| name | The notecard's name, like "Welcome". | Required |
| text | What the notecard says. Use %0A for a new line. | Required |
| description | A short description for the notecard. | Optional |
| folder | The UUID of the folder to put it in. Default: the Notecards folder. | Optional |
Plus action, apikey and botname, like every call.
| uuid | The new notecard's inventory UUID. |
| asset_uuid | The asset UUID of the notecard text. |
| folder | The folder it was saved in. |
result=OK uuid=b572d860-1c2e-4f0a-9d3b-5e8a7c61f204 asset_uuid=1f0a6c3e-77d2-4b19-a0c4-3e2d9b8f5a17 folder=c5cf2a90-3b6e-4d81-9f27-6a1d0e4b8c35
moonbotsAPI("notecard_create", [
"name", "Welcome",
"text", "YOUR_VALUE"
]);These use the helper script from Getting Started.
| item | The notecard's inventory UUID. | Required |
Plus action, apikey and botname, like every call.
| data | The full text of the notecard. |
result=OK data=Welcome to MoonBots!
moonbotsAPI("notecard_read", [
"item", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]);These use the helper script from Getting Started.
| data | The picture as base64 text. JPG, PNG, BMP and J2C work. | Required, or use the other name or uuid field |
| url | A web link to the picture, like "https://example.com/image.png". Use this instead of data. | Optional |
| name | The name it gets in inventory, like "My Texture". Default: Uploaded Texture. | Optional |
| permissions | The next owner permissions in Corrade format. Default: copy, modify and transfer. | Optional |
Plus action, apikey and botname, like every call.
| item_uuid | The new texture's inventory UUID. |
| asset_uuid | The texture's asset UUID. |
result=OK item_uuid=b572d860-1c2e-4f0a-9d3b-5e8a7c61f204 asset_uuid=1f0a6c3e-77d2-4b19-a0c4-3e2d9b8f5a17
moonbotsAPI("texture_upload", [
"data", "BASE64_DATA_HERE"
]);These use the helper script from Getting Started.
| location | Where to go as Region/x/y/z, like "MoonBots/128/128/20". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("teleport", [
"location", "MoonBots/128/128/20"
]);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| message | The message sent with the offer, like "Join me!". This is also the default. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("offer_teleport", [
"slname", "Yaueger Resident"
]);These use the helper script from Getting Started.
| uuid | The UUID of the object to sit on. | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("sit", [
"uuid", "9fa3334a-bc0d-4c3d-829f-c72ed3b24843"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
result=OK
moonbotsAPI("stand", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
result=OK
moonbotsAPI("fly", []);These use the helper script from Getting Started.
| direction | "forward" or "backward". | Required |
| duration | How long to walk in milliseconds, like "1500". Default: 800. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("move", [
"direction", "forward"
]);These use the helper script from Getting Started.
| uuid | The UUID of the object to walk to. | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("walkto", [
"uuid", "9fa3334a-bc0d-4c3d-829f-c72ed3b24843"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
result=OK
moonbotsAPI("tp_home", []);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("group_invite", [
"slname", "Yaueger Resident",
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a"
]);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("group_eject", [
"slname", "Yaueger Resident",
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
| subject | The notice title, like "Notice Subject". | Required |
| message | The notice text. | Optional |
| item | The inventory UUID of an item to attach. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("send_notice", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a",
"subject", "Notice Subject"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID. Use "00000000-0000-0000-0000-000000000000" to show no tag. | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("group_activate", [
"group_uuid", "00000000-0000-0000-0000-000000000000"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("group_join", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("group_leave", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
Plus action, apikey and botname, like every call.
| roles | One role per line as role UUID;role name. |
result=OK roles=b572d860-1c2e-4f0a-9d3b-5e8a7c61f204;Owners 1f0a6c3e-77d2-4b19-a0c4-3e2d9b8f5a17;Everyone
moonbotsAPI("group_list_roles", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
Plus action, apikey and botname, like every call.
| uuid | The group's UUID. |
| name | The group's name. |
| charter | The group's charter text. |
| insignia | The UUID of the group picture. |
| fee | What it costs to join, in L$. |
| founder | The UUID of who started the group. |
| founder_name | The name of who started the group. |
| mature | 1 if the group is mature. |
| members | How many members it has. |
| open | 1 if anyone can join. |
| show_in_list | 1 if the group shows up in search. |
| bot_is_member | 1 if the bot is in the group. |
result=OK uuid=2666017d-7a44-78eb-fbe9-4b46df67296a name=MoonBots Fans fee=0 members=1234 open=1 bot_is_member=1
moonbotsAPI("group_info", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a"
]);These use the helper script from Getting Started.
| group_uuid | The group's UUID, like "2666017d-7a44-78eb-fbe9-4b46df67296a". | Required |
| profile | 1 to show the group on the bot's profile, 0 to hide it. | Required |
| notices | "accept" to get the group's notices, "reject" to stop them. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("group_visibility", [
"group_uuid", "2666017d-7a44-78eb-fbe9-4b46df67296a",
"profile", "YOUR_VALUE"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| balance | The bot's L$ balance. |
result=OK balance=2500
moonbotsAPI("get_balance", []);These use the helper script from Getting Started.
| slname | The person's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The person's UUID. Use this instead of slname if you have it. | Optional |
| amount | How many L$ to send, like "100". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("give_money", [
"slname", "Yaueger Resident",
"amount", "100"
]);These use the helper script from Getting Started.
| object_uuid | The UUID of the object to pay, like a vendor or tip jar. | Required |
| amount | How many L$ to pay, like "100". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("give_money_object", [
"object_uuid", "abcdef12-3456-7890-abcd-ef1234567890",
"amount", "100"
]);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required |
Plus action, apikey and botname, like every call.
| uuid | The avatar's UUID. |
result=OK uuid=7d32f86c-4b44-494a-b90b-fc0d4e3f71bf
moonbotsAPI("name2key", [
"slname", "Yaueger Resident"
]);These use the helper script from Getting Started.
| uuid | The avatar's UUID, like "7d32f86c-4b44-494a-b90b-fc0d4e3f71bf". | Required |
Plus action, apikey and botname, like every call.
| name | The avatar's Second Life name. |
result=OK name=Yaueger Resident
moonbotsAPI("key2name", [
"uuid", "7d32f86c-4b44-494a-b90b-fc0d4e3f71bf"
]);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
Plus action, apikey and botname, like every call.
| display_name | The avatar's display name. |
result=OK display_name=Yaueger
moonbotsAPI("avatar_info", [
"slname", "Yaueger Resident"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| location | The region and position the bot is at. |
| slurl | A map link to where the bot is. |
result=OK location=MoonBots/128/128/25 slurl=https://maps.secondlife.com/secondlife/MoonBots/128/128/25
moonbotsAPI("bot_location", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| data | For each avatar: their name in quotes, their UUID and their position, all separated by commas. |
result=OK data="Yaueger Resident",9fa3334a-bc0d-4c3d-829f-c72ed3b24843,"<128, 130, 25>"
moonbotsAPI("nearbyavatars_scan", []);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| count | How many groups were found. |
| data | Each group as name,UUID with | between groups. |
result=OK count=2 data=MoonBots Fans,2666017d-7a44-78eb-fbe9-4b46df67296a|Cloudlings,b572d860-1c2e-4f0a-9d3b-5e8a7c61f204
moonbotsAPI("avatar_groups", []);These use the helper script from Getting Started.
| avatar | The avatar's UUID or name, like "Yaueger Resident". | Required |
| skipnames | Leave out picks whose name contains this text. | Optional |
| matchnames | Only show picks whose name contains this text. | Optional |
| matchuuid | Only show the pick with this UUID. | Optional |
Plus action, apikey and botname, like every call.
| total | How many picks the avatar has in total. |
| picks | One pick per line as pick UUID then the pick name. |
result=OK total=2 picks=b572d860-1c2e-4f0a-9d3b-5e8a7c61f204 My Store 1f0a6c3e-77d2-4b19-a0c4-3e2d9b8f5a17 Favourite Beach
moonbotsAPI("avatar_picks", [
"avatar", "Yaueger Resident"
]);These use the helper script from Getting Started.
| uuid | The UUID of the object to touch. | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("touch_prim", [
"uuid", "9fa3334a-bc0d-4c3d-829f-c72ed3b24843"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| data | Each object as name,UUID, all separated by commas, closest first. |
result=OK data=Tip Jar,b572d860-1c2e-4f0a-9d3b-5e8a7c61f204,Welcome Board,1f0a6c3e-77d2-4b19-a0c4-3e2d9b8f5a17
moonbotsAPI("find_objects", []);These use the helper script from Getting Started.
| avatar | The avatar's UUID or name, like "Yaueger Resident". | Required |
| operation | "ban", "unban", "allow" or "disallow". | Required |
| all_estates | 1 to do it on every estate the bot manages. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("sim_access", [
"avatar", "Yaueger Resident",
"operation", "ban"
]);These use the helper script from Getting Started.
| avatar | The avatar's UUID or name, like "Yaueger Resident". | Required |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("sim_kick", [
"avatar", "Yaueger Resident"
]);These use the helper script from Getting Started.
| state | "begin" to start the countdown, "cancel" to stop it. | Required |
| delay | Seconds before the restart, from 30 to 240, like "120". Default: 120. | Optional |
Plus action, apikey and botname, like every call.
| state | begin or cancel. |
| delay | The countdown in seconds that was used. |
result=OK state=begin delay=120
moonbotsAPI("sim_restart", [
"state", "begin"
]);These use the helper script from Getting Started.
| message | What to say, like "The region restarts in 5 minutes". | Required |
| all_estates | 1 to send it to every estate the bot manages. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("sim_send_message", [
"message", "The region restarts in 5 minutes"
]);These use the helper script from Getting Started.
| name | The region's name, like "MoonBots". Default: the region the bot is in. | Optional |
Plus action, apikey and botname, like every call.
| region_name | The region's name. |
| region_handle | The region's handle number. |
| region_x | Its X spot on the world map. |
| region_y | Its Y spot on the world map. |
| region_water_height | The water height. |
| region_image | The UUID of the map picture. |
| region_access | PG, Mature or Adult. |
| region_flags | The region's settings. |
| region_agents | How many avatars are there. |
| region_id | The region's UUID. Only for the region the bot is in. |
| region_owner | The estate owner's UUID. Only for the region the bot is in. |
| region_product | The region type, like Estate / Full Region. Only for the region the bot is in. |
| region_size | The size, like 256x256. Only for the region the bot is in. |
| is_estate_manager | 1 if the bot is an Estate Manager. Only for the region the bot is in. |
result=OK region_name=MoonBots region_x=1005 region_y=1010 region_water_height=20 region_access=Mature region_agents=4
moonbotsAPI("region_info", []);These use the helper script from Getting Started.
| x | The X position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
| y | The Y position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
| getvalue | Only return this one value, like "parcel_owner". | Optional |
Plus action, apikey and botname, like every call.
| parcel_name | The parcel's name. |
| parcel_description | The parcel's description, URL escaped unless you use JSON. |
| parcel_area | The size in square metres. |
| parcel_owner | The owner's UUID. |
| parcel_group | The group's UUID. |
| parcel_groupowned | 1 if a group owns it. |
| parcel_maxprims | How many prims it can hold. |
| parcel_totalprims | How many prims are on it now. |
| parcel_musicurl | The music stream link. |
| parcel_forsale | 1 if it is for sale. |
| parcel_saleprice | The sale price in L$. |
| parcel_landingpoint | The landing point as |
| parcel_flags | The parcel's settings, separated by commas. |
result=OK parcel_name=My Land parcel_owner=7d32f86c-4b44-494a-b90b-fc0d4e3f71bf parcel_area=4096 parcel_forsale=0 parcel_flags=AllowFly,AllowLandmark
moonbotsAPI("parcel_info", []);These use the helper script from Getting Started.
| slname | The avatar's name, like "Yaueger Resident". | Required, or use the other name or uuid field |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| ban | 1 to ban them from the parcel too. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("parcel_eject", [
"slname", "Yaueger Resident"
]);These use the helper script from Getting Started.
| entry | What to change: "name", "description", "music_url" or "for_sale". | Required |
| value | The new value. For for_sale use "on 500" with your price, or "off". | Required |
| x | The X position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
| y | The Y position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("set_parcel_info", [
"entry", "name",
"value", "on 500"
]);These use the helper script from Getting Started.
| operation | "public", "group", "closed", "allow", "disallow", "ban", "unban" or "list". | Required |
| slname | The avatar's name, like "Yaueger Resident". Needed for allow, disallow, ban and unban. | Optional |
| uuid | The avatar's UUID. Use this instead of slname if you have it. | Optional |
| hours | How many hours a ban lasts, like "24". Leave it out for a ban that never ends. | Optional |
| age_verified | With public, group or closed: 1 to only let in age verified avatars, 0 to turn it off. | Optional |
| payment_info | With public, group or closed: 1 to only let in avatars with payment info, 0 to turn it off. | Optional |
| x | The X position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
| y | The Y position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
Plus action, apikey and botname, like every call.
| access | After public, group or closed: the new setting. |
| avatar | After a list change: the avatar's UUID. |
| count | After a list change: how many people are on that list now. |
| allowed | With list: one person per line as UUID;name. |
| banned | With list: one person per line as UUID;name;when the ban ends. |
result=OK access=group
moonbotsAPI("parcel_access", [
"operation", "public"
]);These use the helper script from Getting Started.
Nothing extra. Just send action, apikey and botname.
| region_name | The region's name. |
| count | How many parcels there are. |
| parcels | One parcel per line as id;name;owner UUID;area. |
result=OK region_name=MoonBots count=2 parcels=1;Main Store;7d32f86c-4b44-494a-b90b-fc0d4e3f71bf;16384 2;Beach;7d32f86c-4b44-494a-b90b-fc0d4e3f71bf;4096
moonbotsAPI("parcel_list", []);These use the helper script from Getting Started.
| entry | What to change: "name", "description", "music_url" or "for_sale". | Required |
| value | The new value. For for_sale use "on 500" with your price, or "off". | Required |
| x | The X position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
| y | The Y position of a spot in the parcel, like "128". Default: where the bot is. | Optional |
Plus action, apikey and botname, like every call.
result=OK
moonbotsAPI("parcel_info_update", [
"entry", "name",
"value", "on 500"
]);These use the helper script from Getting Started.
Join our Discord for API help, feature requests and updates.
Join MoonBots DiscordA few cookies keep you logged in and block bots, so those always run. Everything else stays off until you allow it: loading PayPal checkout, and any analytics we might add later. See our Cookie Policy.
Turn each purpose on or off. Nothing outside "strictly necessary" runs until you allow it, and you can change this whenever you like from the Cookie Settings link in the footer.
Keeps you logged in, protects the site from bots and abuse, and remembers settings you have deliberately changed, such as dark mode. Without these the site does not work.
PHPSESSID (login session, ends when you close the browser), cf_clearance (Cloudflare bot protection, 12 months), mb_consent (stores this choice, 6 months), theme and wm_dismissed (written only when you switch the theme or dismiss a notice, so they record a choice you made)
Loads PayPal so you can add funds to your wallet. PayPal stores data on your device to process the payment and detect fraud. If this is off, the PayPal checkout will not load until you allow it.
__paypal_storage__ and related PayPal storage, set by paypal.com
Measures which pages get used so we can improve them. Off by default and not in use today. The toggle is here so nothing can start without asking you first.
None in use today
Builds a profile of your interests to show you ads elsewhere. Off by default and not in use today.
None in use today