Moderator Commands
Moderator commands require the Ban Members permission. A server admin can grant this to a role by running /add-moderator-role.
Note: If you have configured a webhook URL on your PlaySafe dashboard, all moderator actions will also trigger a webhook event.
Action Value Mapping
Each moderation command maps directly to an action value in your PlaySafe action policies. As long as your action policies are configured correctly, the actions you take through these commands will apply the matching policy rules automatically.
| Command Action | PlaySafe Action Value |
|---|---|
| Permanent ban | perma_ban |
| Temporary ban (timeout) | temp_voice_ban |
| Warning | warning |
Discord User Moderation
/perma-ban-discord-user
Permanently ban a Discord user from the server.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The user to ban (tag with @) |
strikes | Number | No | 1 | Number of strikes to apply (minimum 0) |
reason | String | No | N/A | Reason for the ban |
/temp-ban-discord-user
Timeout a Discord user for a specified duration.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The user to timeout (tag with @) |
strikes | Number | No | 1 | Number of strikes to apply (minimum 0) |
duration-minutes | Number | No | 5 | Duration of the timeout in minutes (minimum 1) |
reason | String | No | N/A | Reason for the ban |
/warn-discord-user
Warn a Discord user.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The user to warn (tag with @) |
strikes | Number | No | 1 | Number of strikes to apply (minimum 0) |
reason | String | No | N/A | Reason for the warning |
/forgive-discord-user
Forgive and unban a Discord user from the server.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The user to unban |
reason | String | No | N/A | Reason for the unban |
reset-strikes | Boolean | No | false | Whether to reset the user's strike count |
/get-discord-user-status
Get the moderation status of a Discord user.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The user to check (tag with @) |
In-Game Player Moderation
/perma-ban-player
Permanently ban an in-game player.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username (case-insensitive) |
action | String | No | N/A | The moderation action type |
duration-minutes | Number | Yes | N/A | Duration in minutes (minimum 1) |
strikes | Number | No | 1 | Number of strikes to apply (minimum 0) |
reason | String | No | N/A | Reason for the ban |
/temp-ban-player
Timeout an in-game player for a specified duration.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username (case-insensitive) |
action | String | No | N/A | The moderation action type |
duration-minutes | Number | Yes | N/A | Duration in minutes (minimum 1) |
strikes | Number | No | 1 | Number of strikes to apply (minimum 0) |
reason | String | No | N/A | Reason for the ban |
/warn-player
Warn an in-game player.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username (case-insensitive) |
action | String | No | N/A | The moderation action type |
duration-minutes | Number | Yes | N/A | Duration in minutes (minimum 1) |
strikes | Number | No | 1 | Number of strikes to apply (minimum 0) |
reason | String | No | N/A | Reason for the warning |
/forgive-player
Forgive and unban an in-game player.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username (case-insensitive) |
reason | String | No | N/A | Reason for the unban |
reset-strikes | Boolean | No | false | Whether to reset the player's strike count |
/get-player-status
Get the moderation status of an in-game player.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username (case-insensitive) |
Ban Appeals
/approve-discord-appeal
Approve a Discord user's ban appeal.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The Discord user whose appeal to approve |
review-notes | String | No | N/A | Notes for the review |
reset-strikes | Boolean | No | false | Whether to reset the user's strike count |
/reject-discord-appeal
Reject a Discord user's ban appeal.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user | User | Yes | N/A | The Discord user whose appeal to reject |
review-notes | String | No | N/A | Notes for the review |
/approve-game-appeal
Approve an in-game player's ban appeal.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username whose appeal to approve |
review-notes | String | No | N/A | Notes for the review |
reset-strikes | Boolean | No | false | Whether to reset the player's strike count |
/reject-game-appeal
Reject an in-game player's ban appeal.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
username | String | Yes | N/A | The in-game username whose appeal to reject |
review-notes | String | No | N/A | Notes for the review |
/list-appeals
List all ban appeals for the server.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
status | String | No | N/A | Filter by status: Open, Approved, or Rejected |
search | String | No | N/A | Search by username |
limit | Integer | No | 10 | Number of appeals to show (1–20) |