status_set
Set your own presence (online, idle, and so on) and an optional line of status text. The server saves it and tells every connected member, filtered by what each one may see.
Request
Section titled “Request”{ "cmd": "status_set", "status": "idle", "text": "back soon"}| Field | Type | Required | Description |
|---|---|---|---|
status |
string | Yes | One of online, idle, dnd, offline, or invisible. Surrounding spaces are trimmed. |
text |
string | No | Custom status text, up to 100 characters. Defaults to "", which clears any previous text. |
offline and invisible both hide you from ordinary members. You stay connected and can use the server as usual.
Response
Section titled “Response”{ "cmd": "status_set", "status": { "status": "idle", "text": "back soon" }}The server then sends an event to every authenticated connection, including your own:
- You, your other sessions, and members with
manage_usersreceivestatus_getwith your real status and aninvisibleboolean, followed by auser_clientsframe. - If the new status is
offlineorinvisible, everyone else receivesuser_disconnectwith your masked user object. - Otherwise everyone else receives
status_getwithusernameandstatus. If you were hidden before, they first receiveuser_connectwith your user object.
{ "cmd": "status_get", "username": "alice", "status": { "status": "idle", "text": "back soon" }}Permissions
Section titled “Permissions”Any member can call it. It is blocked while you are timed out.
Errors
Section titled “Errors”val |
When |
|---|---|
Invalid status. Must be one of: online, idle, dnd, offline, invisible |
status is not one of the allowed values. |
Unable to save status |
The server could not write the change to storage. |
| Validation message | status is missing or blank, or text is longer than 100 characters. |
