Documentation Index
Fetch the complete documentation index at: https://mintlify.com/AresChat/sb0t/llms.txt
Use this file to discover all available pages before exploring further.
User objects are passed directly to event callbacks (such as onUserJoin, onChat, and so on) and are also returned by the global user() lookup helper. Each instance wraps an internal IUser record and exposes the complete user interface to scripts — from read-only identity fields to writable state toggles and action methods like banning, redirecting, and sending messages.
The owner of the room (the admin account that started the server) is protected:
ban(), disconnect(), redirect(), and level changes are silently ignored for that account.Properties
Identity & Network
The numeric session ID assigned to this connection. Returns
-1 for users connected via a linked leaf server. Read-only.The 16-byte GUID that uniquely identifies the Ares client installation, formatted as a standard UUID string. Read-only.
The user’s current display name. Assigning a new value renames the user for the duration of the session. Read/write.
The original name the user had when they first joined the room. This value never changes, even if
name is overridden. Read-only.The user’s externally visible IP address as a dotted-decimal string. Read-only.
The user’s local (LAN) IP address as a dotted-decimal string. Read-only.
The user’s full local endpoint in
address:port notation. Returns "0.0.0.0:0" if the endpoint is unavailable. Read-only.The DNS hostname resolved for the user’s IP address. Read-only.
The data transfer port advertised by the Ares client. Read-only.
The Ares client version string reported at connection time. Read-only.
Unix timestamp (seconds since epoch) for when the user joined this session. Read-only.
Profile
The age value self-reported by the user in their Ares profile. Read-only.
The gender self-reported by the user. Returns
"Male", "Female", or "Unknown". Read-only.The two-letter country code string resolved from the user’s country byte. Read-only.
The regional location string reported by the Ares client. Read-only.
The number of files the user is currently sharing. Read-only.
The user’s personal status message. Can be overridden by scripts. Read/write.
A
JSAvatarImage object containing the user’s avatar image data. Assigning a JSAvatarImage value replaces the avatar; assigning any other value clears it.A
UserFont object describing the user’s custom chat font. The object exposes four read-only sub-properties:| Sub-property | Type | Description |
|---|---|---|
font.enabled | bool | Whether the custom font is active. |
font.family | string | Font family name (maps to FontName in the source). |
font.nameColor | string | Hex colour applied to the username. |
font.textColor | string | Hex colour applied to chat text. |
Admin & Room State
The user’s current admin level. Valid values:
Assigning a value in the range
| Value | Meaning |
|---|---|
0 | Regular user |
1 | Moderator |
2 | Administrator |
3 | Host |
0–3 changes the level, subject to the ScriptCanLevel server setting. The owner’s level cannot be changed. Read/write.The virtual room (channel) the user is currently in. Accepts values
0–65535. Assigning a value moves the user to the specified virtual room. Read/write.Whether the user is currently muzzled (prevented from sending public chat). Setting to
true muzzles; false unmuzzles. Read/write.An override display name applied on top of the user’s real name. Set to
null to remove the override and restore the original name. Read/write.Whether the user is hidden from the user list. Setting to
true hides the user; false makes them visible again. Read/write.Derived visibility flag. Returns
true if the user is not cloaked (for local users) or is marked as visible by the link layer (for linked users). Read-only.Boolean Status Flags
true if the user is sharing files and accepts browse requests. Read-only.true if the client uses the keep-alive (fast-ping) protocol extension. Read-only.true if the user entry is a linked ghost (connected via a leaf server). Read-only.true if the user is connecting with a third-party Ares-compatible client. Read-only.true if the user is connecting via the web-browser client interface. Read-only.true if the client supports receiving HTML-formatted messages. Read-only.true if this user is the room owner (the host account that started the server). Read-only.true if the user is logged in to a registered account. Read-only.true if the user has passed the captcha challenge. Read-only.true if the user is currently marked as idle. Read-only.true if this user record originates from a linked leaf server rather than a direct local connection. Read-only.The
Leaf object representing the linked server this user came from. Returns null for locally connected users. Read-only.Methods
Bans the user by IP address and GUID, then disconnects them. The ban entry persists in the ban list until manually removed. Has no effect on the room owner.
Disconnects the user from the room without adding a ban entry. Has no effect on the room owner.
Sends the user an Ares redirect to the room identified by
hashlink. The client will automatically attempt to join the target room.| Parameter | Type | Description |
|---|---|---|
hashlink | string | An arlnk:// deep-link or IP:port string for the destination room. |
Broadcasts a public chat line into the room attributed to this user’s name. All users in the room see the message.
| Parameter | Type | Description |
|---|---|---|
text | string | The message text to broadcast. |
Sends an HTML-formatted message to this specific user. Only clients where
canHTML is true will render the markup.| Parameter | Type | Description |
|---|---|---|
text | string | HTML string to deliver. |
Sends an emote action line attributed to this user. The text is broadcast to the room in the emote style (e.g.
* Username text).| Parameter | Type | Description |
|---|---|---|
text | string | The emote text. |
Sends a virtual topic that is visible only to this individual user without changing the global room topic.
| Parameter | Type | Description |
|---|---|---|
text | string | Topic text to display. Pass undefined to restore the real room topic. |
Sends a URL tag visible only to this user, overriding the room-wide URL tag for their session. Pass two empty strings to clear it.
| Parameter | Type | Description |
|---|---|---|
address | string | The URL to display. |
text | string | The link label. |
Sends a nudge notification to this user. Only works for custom clients (
customClient === true).| Parameter | Type | Description |
|---|---|---|
sender | string | The name to display as the nudge sender. If omitted, defaults to Room.botName. |
Sends a scribble drawing to the user. Only works for custom clients. The first argument may be either a
JSScribbleImage object (sender defaults to Room.botName) or a sender name string followed by a JSScribbleImage.| Parameter | Type | Description |
|---|---|---|
sender | string | JSScribbleImage | Sender name, or the scribble image itself. |
img | JSScribbleImage | Scribble image (only required when sender is a string). |
Restores the user’s original avatar, discarding any script-assigned replacement.
Returns the Autonomous System Number (ASN) associated with the user’s current IP address as an unsigned 32-bit integer. Useful for network-level access controls.