Перейти к содержанию

Веб-хуки

Получение информации о BotiCord API в реальном времени.


Как с этим работать?

Первым делом, вы должны установить ссылку на сам веб-хук. Это делается на странице редактирования бота/сервера. После установки ссылки, вам на той-же странице, под полем указания ссылки на веб-хук, даётся ключ, который будет отправляться в заголовках (Headers) для проверки запроса как X-Hook-Key.

Картинка с объяснением настройки

А что делать дальше?

Дальше просто принимайте сообщения от веб-хука. Как вы поняли, для этого потребуется поднять свой собственный HTTP-сервер.

Что использовать для этого?

Ниже приведен наш список рекомендаций:

Какие бывают действия?

Имя события Описание события
test_webhook_message Тестовое сообщение (отправляется в редакторе)
new_bot_comment Отправляется при новом отзыве о боте
edit_bot_comment Отправляется при изменении отзыва о боте
delete_bot_comment Отправляется при удалении отзыва о боте
new_bot_bump Отправляется при оценке бота на сайте
new_server_comment Отправляется при новом отзыве о сервере
edit_server_comment Отправляется при изменении отзыва о сервере
delete_server_comment Отправляется при удалении отзыва о сервере
new_server_bump Отправляется при оценке сервера через сервисного бота

Примеры возвращаемых событиями данных:

Все ниже приведённые примеры универсальны. Это значит, что если где-то стоит * - туда подставляется что-то из списка выше (тип сообщения и тип объекта).

Оценка

{
    "type": "new_*_bump",
    "data": {
        "user": "178404926869733376",
        "at": 1631789378024
    },
    "bonus": {
        "status": true,
        "expiresAt": 1631789498015
    }
}

Действие с комментарием

{
    "type": "*_*_comment",
    "data": {
        "user": "178404926869733376",
        "comment": {
            "vote": {
                "old": -1 | null,
                "new": 1 | null
            },
            "old": "Плохой бот!" | null,
            "new": "Лучший бот среди всех ботов и времён!" | null
        },
        "reason": "self" | "moderation", // Если комментарий был удалён - "self" означает, что удалено автором, а "moderation" означает что удалён модератором
        "at": 1631789378024 // Timestamp-метка времени в миллисекундах
    }
}