user_timeout
Stop a member from posting or changing anything for a set time. They stay connected and can still read. See timeouts for which commands are blocked.
Request
Section titled “Request”{ "cmd": "user_timeout", "user": "alice", "duration": 300, "reason": "Repeated spam"}| Field | Type | Required | Description |
|---|---|---|---|
user |
string | Yes | Username or user ID. Matching ignores letter case and a leading @. |
duration |
number | Yes | Length of the timeout in seconds. Must be greater than 0. |
reason |
string | No | Shown to the user. Defaults to No reason provided. |
Response
Section titled “Response”{ "cmd": "user_timeout", "user": "alice", "timed_out": true, "duration": 300}Every session of the target receives a rate_limit frame. length is the duration in milliseconds.
{ "cmd": "rate_limit", "reason": "Muted: Repeated spam", "length": 300000}Nothing is broadcast to other members. The timeout is recorded in the audit log.
- A new timeout replaces any existing one. It starts from now and does not add to the time left.
durationcan’t be 0, so this command can’t lift a timeout early. The built-in/unmuteslash command does that.- When the timeout ends, the server sends the user a
rate_limitframe withlength: 0.
Permissions
Section titled “Permissions”Requires manage_users. It is blocked while you are timed out yourself.
Errors
Section titled “Errors”val |
When |
|---|---|
User not found |
No account matches user. |
Cannot timeout the server owner |
The target has the owner role. |
Failed to set timeout |
The server could not write the timeout to storage. |
| Validation message | user is missing or blank, or duration is missing, not a number, or not greater than 0. |
