Проверь свой вебхук Discord за секунды. Вставь URL, проверь его и отправь тестовое сообщение, чтобы убедиться, что всё работает.
Вебхук Discord - это уникальный URL, который позволяет отправлять сообщения в конкретный канал Discord без бота. Вебхуки часто используют для уведомлений GitHub, оповещений мониторинга серверов, обновлений CI/CD-конвейеров и собственных интеграций. У каждого вебхука своё имя и аватар, и он привязан к конкретному каналу.
Вставь URL вебхука и нажми «Проверить». Инструмент проверяет URL через API Discord и показывает имя, аватар и связанный канал вебхука. Если URL действителен, можно ввести своё сообщение и отправить его через вебхук, чтобы убедиться в работоспособности. URL вебхука проксируется через наш сервер ради безопасности (браузер не может обратиться к API Discord напрямую из-за CORS), но никогда не сохраняется и не логируется.
Когда запрос вебхука не проходит, Discord возвращает HTTP-статус с телом JSON, где есть числовой code и message. Вот те, с которыми реально сталкиваешься:
retry_after (в секундах), которое подсказывает, когда повторить. Соблюдай его.content, ни embeds, ни files. Нужен хотя бы один из них.embed.color отправлен строкой в hex вместо десятичного числа. Переведи #9B59B6 в 10181046 перед отправкой.Discord применяет ограничения частоты на вебхук и на канал, а точные размеры корзин определяются на стороне сервера и передаются в заголовках ответа, а не заданы фиксированным числом. Каждый успешный ответ содержит X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset-After - читай их, чтобы планировать следующий запрос, и не задавай фиксированную частоту в коде. Тело ответа 429 также содержит значение retry_after (в секундах). Для интеграций с большим объёмом (сборочные конвейеры, агрегация логов) объединяй несколько событий в одно сообщение: один вызов вебхука несёт до 10 эмбедов и до 6000 символов суммарно на эмбед, чего обычно хватает, чтобы свести всплеск событий к одному запросу.
URL вебхука - это предъявительский ключ. Любой, у кого есть полный URL, может писать в твой канал от имени бота вебхука без всякой авторизации. Обращайся с ним как с паролем:
@everyone и @here, пока allowed_mentions явно их не разрешит. Поставь "parse": [], чтобы отключить все пинги упоминаний, если они не нужны.Если удобнее тестировать из терминала, минимальная полезная нагрузка - одно поле content. Успешный POST возвращает HTTP 204 с пустым телом или HTTP 200 с JSON созданного сообщения, если добавить ?wait=true к URL. Используй ?wait=true, когда нужен ID сообщения (например, чтобы позже отредактировать или удалить его через эндпоинт /webhooks/<id>/<token>/messages/<message_id>).
Работает на Pigona - Бесплатный перевод для Discord