الإشراف
تستطيع البوتات الطرد والحظر وإعطاء المهل وحذف الرسائل جماعيًا وقراءة سجل التدقيق. يفرض السيرفر كل ذلك، ويبقى على بوتك فحص الشخص الذي طلب.
قواعد يفرضها السيرفر
- يحتاج البوت إلى الصلاحية المناسبة: Kick Members أو Ban Members أو Timeout Members أو Manage Messages أو View Audit Logs.
- يجب أن يكون الهدف أدنى من البوت. لا يمكن طرد مالك السيرفر أو حظره أو إعطاؤه مهلة.
- المهلة وقت انتهاء (
timeoutبصيغة ISO 8601). لا يمكن إعطاء مهلة لمن يملك Timeout Members (IsElevated)، ولا يعطي أحد نفسه مهلة. أنهِ المهلة مبكرًا بـremove: ["Timeout"]. - يستطيع الحظر حذف رسائل المستخدم من آخر 7 أيام (
delete_message_seconds، بحد أقصى 604800). - يأخذ الحذف الجماعي حتى 100 رسالة أحدث من أسبوع.
قواعد يضيفها بوتك
- افحص الشخص لا البوت وحده. استخدم
user_permissionsمن التفاعل (انظر الأدوار والصلاحيات). - قارن المراتب. ارفض إذا كان الهدف في مرتبة الطالب أو أعلى.
- ارفض الأخطاء الواضحة: التصرف في نفسك أو البوت أو المالك.
- اكتب سببًا. تظهر الأسباب في سجل التدقيق.
- أجب بخصوصية. الأفضل أن تكون ردود الإشراف
ephemeral.
الطرد والحظر والمهلة
# 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" }'تضع الترويسة X-Audit-Log-Reason سببًا في سجل التدقيق، وتعمل على كل مسارات الإشراف.
سجل التدقيق
يسرد GET /servers/{target}/audit_logs من فعل ماذا. تظهر أفعال بوتك والبوت هو الفاعل.
المرجع
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.
الصلاحيات: Channel:ManageMessages · حد المعدل: channels, 15 / 10 s
DELETE /servers/{server_id}/members/{member_id}
Kick Member. Removes a member from the server.
الصلاحيات: Channel:KickMembers · حد المعدل: servers, 5 / 10 s
DELETE /servers/{server}/bans/{target}
Unban user. Remove a user's ban.
الصلاحيات: Channel:BanMembers · حد المعدل: servers, 5 / 10 s
PUT /servers/{server}/bans/{target}
Ban User. Ban a user by their id.
الصلاحيات: Channel:BanMembers · حد المعدل: servers, 5 / 10 s
GET /servers/{target}/audit_logs
Audit Log Query. Queries a server's audit logs.
الصلاحيات: Channel:ViewAuditLogs · حد المعدل: servers, 5 / 10 s
GET /servers/{target}/bans
Fetch Bans. Fetch all bans on a server.
الصلاحيات: Channel:BanMembers · حد المعدل: servers, 5 / 10 s
يبني درس الإشراف الأمرين /timeout و/purge.