Skip to main content
Run from the client. Useful for reacting to chat UI state — pausing a minigame while chat is open, hiding chat during cutscenes, etc.

isOpen()

Check whether the chat is currently open.
Client
boolean
true if the chat input is visible and focused.
Example — pause while typing

setVisible(visible)

Force-show or hide the chat without opening it for input.
Client
boolean
required
true to show the chat overlay, false to hide it.
Useful for cinematic moments — hide chat during cutscenes, restore on exit.
Example — hide during cutscene

focus(open)

Open or close the chat input programmatically.
Client
boolean
required
true to open and focus the input, false to close.
Example — bind a custom key

addLocalMessage(options)

Render a message only for the current player, without bouncing through the server. Great for client-side feedback.
Client
options accepts the same fields as the server-side addMessage (minus target).
Example — pickup feedback
addLocalMessage is not broadcast. Only this client sees it. If you need other players to see the message too, use the server-side addMessage.

getActiveTheme()

Returns the name of the theme currently applied to this client.
Client
string
e.g. "default", "midnight", "ghostty". Matches a JSON file in themes/.

setActiveTheme(name)

Switch the chat theme for this client.
Client
string
required
The theme filename without .json (e.g. "midnight").
Example — themed by job