Перейти к основному содержимому

Moderation

Модерация — высокий риск. Бот действует с полномочиями выданного scope, но не может тронуть owner/admin (403) и самого себя (400). Каждое действие (kick/mute) пишется в audit-log.

Удалить чужое сообщение

См. Messages → Удалить сообщение: эндпоинт DELETE …/messages/{id} для чужого сообщения требует scope moderation.messages.

Кикнуть участника

POST /api/bot/spaces/{space_id}/members/{user_id}/kick · scope moderation.kick

curl -X POST https://api.reasonspace.ru/api/bot/spaces/{space_id}/members/{user_id}/kick \
-H "Authorization: Bot bot_..."

204 No Content. 403, если цель — owner/admin; 400, если бот пытается тронуть самого себя (detail: "bot cannot target itself").

Mute участника

POST /api/bot/spaces/{space_id}/members/{user_id}/mute · scope moderation.mute

curl -X POST https://api.reasonspace.ru/api/bot/spaces/{space_id}/members/{user_id}/mute \
-H "Authorization: Bot bot_..." \
-H "Content-Type: application/json" \
-d '{"duration_minutes": 10, "reason": "spam"}'
duration_minutesintegerdefault: 10

1..10080 (до 7 дней).

reasonstring

Опционально, до 200 символов.

204 No Content.

Ban — пока не реализован

moderation.ban пока не реализован — нет banlist (повторный join не заблокировать). Для удаления используйте kick; ban появится отдельно (нужна таблица бан-листа).

Errors

HTTPЧто значит
400бот целится в самого себя (detail: "bot cannot target itself")
403нет scope, либо цель — owner/admin
404space или участник не найден
422невалидный duration_minutes (вне 1..10080) — ошибка валидации тела запроса
429rate limit