Moderation
Bots können kicken, bannen, Timeouts geben, Nachrichten in Masse löschen und das Audit-Log lesen. Der Server setzt alles durch; dein Bot sollte trotzdem die fragende Person prüfen.
Regeln, die der Server durchsetzt
- Der Bot braucht die passende Berechtigung: Kick Members, Ban Members, Timeout Members, Manage Messages, View Audit Logs.
- Das Ziel muss unter dem Bot stehen. Der Servereigentümer lässt sich weder kicken noch bannen noch mit Timeout belegen.
- Ein Timeout ist eine Endzeit (
timeout, ISO 8601). Mitglieder mit Timeout Members bekommen kein Timeout (IsElevated), und niemand gibt sich selbst eins. Beende ein Timeout früher mitremove: ["Timeout"]. - Ein Bann kann die Nachrichten des Benutzers der letzten 7 Tage löschen (
delete_message_seconds, höchstens 604800). - Massenlöschung nimmt bis zu 100 Nachrichten, die jünger als eine Woche sind.
Regeln, die dein Bot ergänzen sollte
- Prüfe die Person, nicht nur den Bot. Nimm
user_permissionsaus der Interaktion (siehe Rollen und Berechtigungen). - Vergleiche Ränge. Lehne ab, wenn das Ziel gleich hoch oder höher steht als die fragende Person.
- Lehne offensichtliche Fehler ab: auf sich selbst, den Bot oder den Eigentümer zielen.
- Schreibe einen Grund. Gründe erscheinen im Audit-Log.
- Antworte privat. Moderationsantworten sind am besten
ephemeral.
Kicken, bannen, Timeout
# kick
curl -X DELETE "https://api.zrzur.com/servers/SERVER_ID/members/USER_ID" \
-H "x-bot-token: YOUR_BOT_TOKEN" -H "X-Audit-Log-Reason: Spam"
# ban
curl -X PUT "https://api.zrzur.com/servers/SERVER_ID/bans/USER_ID" \
-H "x-bot-token: YOUR_BOT_TOKEN" -H "content-type: application/json" \
-d '{ "reason": "Spam", "delete_message_seconds": 86400 }'
# time out until a date
curl -X PATCH "https://api.zrzur.com/servers/SERVER_ID/members/USER_ID" \
-H "x-bot-token: YOUR_BOT_TOKEN" -H "content-type: application/json" \
-d '{ "timeout": "2026-12-01T12:00:00Z" }'Der Header X-Audit-Log-Reason schreibt einen Grund ins Audit-Log. Er funktioniert auf jeder Moderationsroute.
Audit-Log
GET /servers/{target}/audit_logs listet, wer was getan hat. Aktionen deines Bots zeigen ihn als Handelnden.
Referenz
DELETE /channels/{target}/messages/bulk
Bulk Delete Messages. Delete multiple messages you've sent or one you have permission to delete.
This will always require ManageMessages permission regardless of whether you own the message or not.
Messages must have been sent within the past 1 week.
Berechtigungen: Channel:ManageMessages · Ratenlimit: channels, 15 / 10 s
DELETE /servers/{server_id}/members/{member_id}
Kick Member. Removes a member from the server.
Berechtigungen: Channel:KickMembers · Ratenlimit: servers, 5 / 10 s
DELETE /servers/{server}/bans/{target}
Unban user. Remove a user's ban.
Berechtigungen: Channel:BanMembers · Ratenlimit: servers, 5 / 10 s
PUT /servers/{server}/bans/{target}
Ban User. Ban a user by their id.
Berechtigungen: Channel:BanMembers · Ratenlimit: servers, 5 / 10 s
GET /servers/{target}/audit_logs
Audit Log Query. Queries a server's audit logs.
Berechtigungen: Channel:ViewAuditLogs · Ratenlimit: servers, 5 / 10 s
GET /servers/{target}/bans
Fetch Bans. Fetch all bans on a server.
Berechtigungen: Channel:BanMembers · Ratenlimit: servers, 5 / 10 s
Das Moderations-Tutorial baut /timeout und /purge.