Config Bot Tags
Config bot Tags
All tags on the config bot will be synced with the URL query parameters.
This means that setting the #abc
tag on the config bot to hello
will update the URL to include abc=hello
.
It also means that putting miniGridPortal=myDimension
into the query string will set the #miniGridPortal
tag to myDimension
.
bios
The BIOS option that was used to initialize CasualOS.
Possible values are:
Value | Description |
---|---|
null | No BIOS option was used. This will cause a selection box to appear asking the user what their preference is. (Default) |
local inst | A new local inst will be created. Bots are stored in the browser on the device. |
local | Shorthand for "local inst". |
studio inst | A new private inst will be generated in "My Studio". Bots are stored in the cloud and shared with studio members. |
studio | Shorthand for "studio inst". |
free inst | A new public inst will be generated. Bots are stored in the cloud and shared publicly, expires in 24h. |
free | Shorthand for "free inst". |
enter join code | The BIOS selection box will be shown with the "enter join code" option selected. |
sign in | The BIOS selection box will be shown with the "sign in" option selected. |
sign up | The BIOS selection box will be shown with the "sign up" option selected. |
sign out | The BIOS selection box will be shown with the "sign out" option selected. |
inst
The instance that is loaded into CasualOS.
staticInst
The static instance that is loaded into CasualOS. Not present if the inst is not a static inst.
joinCode
The join code that ab1 should use to join an inst. If specified, then the BIOS selection box will be skipped.
record
The name of the record that the inst was loaded from. Null if the inst was loaded as temporary and public.
owner
The place that the inst should be loaded from.
Possible values are:
Value | Description |
---|---|
public | The inst will be loaded as temporary and public. |
player | The inst will be loaded from the currently logged in user's default record. |
Any Record Name | The inst will be loaded from the given record. |
Any User ID | The inst will be loaded from the given user's player studio default record. |
Any Studio ID | The inst will be loaded from the given studio's default record. |
theme
The theme that CasualOS should use.
Possible values are:
Value | Description |
---|---|
null | CasualOS is displayed with a color theme matching the system default. (Default) |
light | CasualOS is displayed with a white-like-paper color theme. |
dark | CasualOS is displayed with a dark theme. |
Only available on the config bot.
showSemanticHighlighting
Used to enable or disable semantic error highlighting.
Possible values are:
Value | Description |
---|---|
false | Disables semantic error highlighting. (Default) |
true | Enables semantic error highlighting. |
Only available on the config bot.
gridPortal
The dimension that is loaded into the 'grid' portal in CasualOS. This is the portal that is loaded by default. Only available on the config bot.
miniGridPortal
The dimension that is loaded into the "mini" portal in CasualOS. Only available on the config bot.
sheetPortal
The dimension that is loaded into the "sheet" portal in CasualOS. Only available on the config bot.
systemPortal
The search value that is loaded into the "system" portal in CasualOS.
Setting this to true
will show every bot that has a #system
tag in the system portal.
Only available on the config bot.
systemTagName
The name of the tag that should be used when showing bots in the systemPortal.
For example, setting #systemTagName
on the configBot to "test" will cause the systemPortal to only show bots that have a "test" tag instead of a "system" tag.
Possible values are:
Value | Description |
---|---|
null | The "system" tag is used. (Default) |
Any String | The given tag is used. |
Only available on the config bot.
Examples
- Use the "myCustomSystem" tag for the systemPortal instead of the "system" tag.
configBot.tags.systemPortalTagName = "myCustomSystem";
systemPortalBot
The ID of the bot that is selected in the systemPortal. Only available on the config bot.
systemPortalTag
The name of the tag that is selected in the systemPortal.
Defaults to system
.
Only available on the config bot.
systemPortalTagSpace
The space of the tag that is selected in the systemPortal.
If null, then the tag space is the same as the #systemPortalBot
space.
Only available on the config bot.
systemPortalSearch
The value that should be used to search across all the tags in all the bots in the inst. The results of the search will be displayed in the systemPortal. Only available on the config bot.
systemPortalDiff
The name of the tag should be used as a second system portal to compare with the tag specified by the #systemPortalTag
(system
by default).
If both the #systemPortal
and #systemPortalDiff
tags are specified, then the system portal will be shown comparing
bots whose system matches.
For example, if #systemPortal
is set to true
and #systemPortalDiff
is set to history
, then a Bot that has #system
set to my.system
will be compared with another bot that has #history
set to my.system
.
The result of this comparision will be shown in the system portal, indicating what was changed between the two bots.
systemPortalDiffBot
The ID of the bot that is currently selected in the system portal diff. Only available on the config bot.
systemPortalDiffTag
The name of the tag that is currently selected in the system portal diff. Only available on the config bot.
systemPortalDiffTagSpace
The space of the tag that is selected in the system portal diff.
If null, then the tag space is the same as the #systemPortalDiffBot
space.
Only available on the config bot.
systemPortalPane
The pane that the user is currently viewing in the system portal.
Possible values are:
Value | Description |
---|---|
null | The system portal figures out which pane to show based on the other system portal tags. (Default) |
bots | The "bots" pane is shown. |
sheet | The "sheet" pane is shown. |
search | The "search" pane is shown. |
diff | The "diff" pane is shown. |
idePortal
The prefix that indicates which tags should be loaded into the "IDE" portal in CasualOS. Only available on the config bot.
mapPortal
The dimension that is loaded into the "map" portal in CasualOS.
The map portal displays a 3D globe representing earth. Bots represented in the map portal use longitude for X and latitude for Y and are 10 meters by 10 meters large by default.
Only available on the config bot.
miniMapPortal
The dimension that is loaded into the "mini map" portal in CasualOS.
The mini map portal displays a 3D globe representing earth. Bots represented in the mini map portal use longitude for X and latitude for Y and are 10 meters by 10 meters large by default.
Only available on the config bot.
menuPortal
The dimension that is loaded into the "menu" portal in CasualOS. Only available on the config bot.
leftWristPortal
The dimension that is loaded onto the left controller near the wrist when in VR. Only available on the config bot.
rightWristPortal
The dimension that is loaded onto the right controller near the wrist when in VR. Only available on the config bot.
meetPortal
The Jitsi Meet room code of the meeting that should be joined. This will join the current tab to the meeting and provide audiovisual communication between everyone that is joined.
This is similar to a Skype or Zoom call except that all data is encrypted and is deleted once you are done with it. Check out the Jitsi Meet privacy policy here.
Only available on the config bot.
botPortal
The ID of the bot whose data should be shown in the bot portal. This will show the raw JSON data of the bot in a raw text portal.
Only available on the config bot.
configBot.tags.botPortal = thisBot.id;
configBot.tags.botPortal = thisBot.id;
botPortalBot.tags.botPortalAnchorPoint = 'top';
tagPortal
The Bot ID and tag that should be edited in the tag portal. This will show just the code editor without the rest of the sheet and makes it possible to edit just a single tag at a time.
When you are setting the tag portal, you should format it so the bot ID and tag name are separated by a single period (.).
Only available on the config bot.
Examples:
- Open the tag portal for the
abc
tag on the config bot.
const tag = "abc";
configBot.tags.tagPortal = getID(configBot) + "." + tag;
tagPortalSpace
The space of the tag mask that should be edited in the tag portal. If not set, then the tag on the bot will be edited. If set, then the tag mask in the given space will be edited.
Only available on the config bot.
Examples:
- Open the tag portal for the
abc
tag mask in thetempLocal
space on the config bot.
const tag = "abc";
configBot.tags.tagPortal = getID(configBot) + "." + tag;
configBot.tags.tagPortalSpace = "tempLocal";
codeToolsPortal
The dimension of bots that should be shown in the multi-line editor toolbar. This is useful for displaying small buttons that are easy to access while writing code.
Only available on the config bot.
Examples:
- Open the codeToolsPortal to the
home
dimension.
configBot.tags.codeToolsPortal = 'home';
imuPortal
Determines if the IMU portal should be constantly reading IMU (inertial measurement unit) data for the device.
When set to true
, CasualOS will start updating the imuPortalBot
with the data from the IMU.
Note that not all devices support the IMU portal. In particular, laptops and desktop computers will likely not support the IMU portal while mobile devices probably will.
Only available on the config bot.
dataPortal
The data portal is a special portal that can be used in a web request to get bot data directly from the inst. Similar to webhooks, you specify the inst and data portal in the query string of the URL.
If given a bot ID, then the bot will be returned as JSON.
If no bot matches the given value, then it will be treated as a tag and all the values for the given tag will be returned.
If the tag ends with a common extension (like .html
or .txt
or .json
), then the returned data will be tagged with the corresponding MIME type.
This will let web browsers and other common software know what type of data they are dealing with and handle it correctly. (i.e. display a webpage)
Alternatively, you can specify the dataPortalContentType
query parameter to override the default content type.
If there is only one tag and it ends with an extension like specified above then the content directly from the tag will be returned.
Examples:
- Request the JSON of the Bot with the given ID:
https://auxplayer.org?inst=my-aux&dataPortal=bf68e5cc-993b-42fd-a142-a23de6d2cdcb
- Request all the
#label
tags values.
https://auxplayer.org?inst=my-aux&dataPortal=label
- Request a web page from the
test.html
tag.
https://auxplayer.org?inst=my-aux&dataPortal=test.html
mousePointerPosition
The 3D position of the player's mouse pointer.
See the documentation on Vectors for more info.
mousePointerRotation
The 3D rotation of the player's mouse pointer.
See the documentation on Rotations for more info.
mousePointerPortal
The portal that the player's mouse pointer is in.
leftPointerPosition
The 3D position of the player's left controller.
See the documentation on Vectors for more info.
leftPointerRotation
The 3D rotation of the player's left controller.
See the documentation on Rotations for more info.
leftPointerPortal
The portal that the player's left controller is in.
rightPointerPosition
The 3D position of the player's right controller.
See the documentation on Vectors for more info.
rightPointerRotation
The 3D rotation of the player's right controller.
See the documentation on Rotations for more info.
rightPointerPortal
The portal that the player's right controller is in.
mousePointer_left
The state that the left mouse button is currently in.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
mousePointer_right
The state that the right mouse button is currently in.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
mousePointer_middle
The state that the middle mouse button is currently in.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
rightPointer_primary
The state that the primary button on the right controller is currently in. The primary input on most contollers is the trigger button.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
rightPointer_squeeze
The state that the squeeze button on the right controller is currently in. Some controllers have buttons on the side that count as "squeezing" the controller.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
leftPointer_primary
The state that the primary button on the left controller is currently in. The primary input on most contollers is the trigger button.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
leftPointer_squeeze
The state that the squeeze button on the left controller is currently in. Some controllers have buttons on the side that count as "squeezing" the controller.
Possible values are:
Value | Description |
---|---|
null | The button is not pressed. (default) |
down | The button was just pressed. |
held | The button is being held down. |
keyboard_[key]
The state that the given key on the keyboard is currently in.
Possible values are:
Value | Description |
---|---|
null | The key is not pressed. (default) |
down | The key was just pressed. |
held | The key is being held down. |
touch_[index]
The state that the given touch index is in.
Possible values are:
Value | Description |
---|---|
null | The touch is not pressed. (default) |
down | The touch was just pressed. |
held | The touch is being held down. |
forceSignedScripts
Whether to force all shared scripts to have been signed by a certificate in order to be executed.
This option only takes effect if it is set in the query string of the URL. Additionally, changing the tag value has no effect.
If the inst is loaded with forceSignedScripts
set to true
, then scripts will be required to be signed for the entire session.
tempLocal
and local
spaces are exempt from this requirement.
Possible values are:
Value | Description |
---|---|
false | Scripts do not have to be signed in order to be executed. (default) |
true | Scripts have to be signed in order to be executed. |
url
The URL that is currently specified in the tab.
Possible values are:
Value | Description |
---|---|
Any String | The URL that is loaded in the tab. |
permalink
The URL, but with the #owner
query parameter replaced with the value of the #record
tag on the config bot.
This tag is useful for sharing an exact link to the current inst.
pageTitle
The title that should be displayed on the web browser tab.
Possible values are:
Value | Description |
---|---|
Any String | The title that should be displayed. |
editingBot
The ID of the bot that the user is currently editing. Only available on the config bot.
editingTag
The tag that the user is currently editing. Only available on the config bot.
cursorStartIndex
The selection start index of the player's cursor in the current #editingTag
.
Note that when #cursorStartIndex
is larger than #cursorEndIndex
it means
that the player has selected text from the right to the left.
This is important because text will always be inserted at #cursorEndIndex
.
Only available on the config bot.
cursorEndIndex
The selection end index of the player's cursor in the current #editingTag
.
Note that when #cursorEndIndex
is smaller than #cursorStartIndex
it means
that the player has selected text from the right to the left.
This is important because text will always be inserted at #cursorEndIndex
.
Only available on the config bot.