자동 번역이 페이지는 자동으로 번역되었습니다. 영어 원문이 기준입니다.이 페이지를 영어로 읽어보세요

웹훅

웹훅은 비밀 URL를 통해 하나의 채널에 메시지를 게시합니다. 봇 코드, 게이트웨이 루프, Authorization 헤더가 필요하지 않습니다. HTTP 요청을 만들 수 있다면 Disband에 게시할 수 있습니다.

Webhooks는 봇과 별개입니다. CI, 모니터링, 게임 서버, 양식 또는 URL를 호출할 수 있는 기타 모든 곳에서 일방향 알림을 위해 웹훅을 사용하십시오. 이벤트를 읽거나 메시지를 처리해야 할 때 봇을 사용하십시오.

웹훅 생성하기

공간에서 Webhooks 관리 권한이 필요합니다.

  1. 스페이스 설정 → 통합 → Webhooks를 엽니다.
  2. 채널을 선택하고 새 웹훅을 선택합니다.
  3. 이름을 지어주고, 마음에 드시면 아바타를 추가하세요.
  4. 웹훅 URL을 복사합니다.

URL는 다음과 같이 보입니다:

https://disband.dev/webhook/12345678/01234567890123456789012345
부분 의미
스페이스 키 스페이스 구분자를 식별하는 8자리 숫자. 비밀이 아니다.
토큰 이십육자리 숫자. 이것이 비밀이다. 암호처럼 취급하라.

같은 엔드포인트는 또한 https://disband.dev/api/webhooks/<space key>/<token>에서 제공됩니다.

그 화면에서 웹휠을 이름을 변경하거나, 토큰을 재설정하거나, 삭제할 수 있습니다. 토큰을 재설정하면 기존 URL가 즉시 무효화됩니다. 웹휠을 삭제하면 게시가 중지되지만, 채널에 이미 보낸 메시지는 남습니다.

웹훅 실행하기

POST를 URL 웹훅으로 보내고 JSON 바디를 보내세요.

curl -X POST 'https://disband.dev/webhook/12345678/01234567890123456789012345' \
  -H 'Content-Type: application/json' \
  -d '{
    "content": "Deploy finished — **v2.4.1** is live.",
    "username": "Deploy bot",
    "avatar_url": "https://example.com/deploy.png"
  }'

성공적인 요청은 204 No Content을 반환합니다. 대신 ?wait=true을 추가하여 생성된 메시지 객체를 받으십시오.

curl -X POST 'https://disband.dev/webhook/12345678/01234567890123456789012345?wait=true' \
  -H 'Content-Type: application/json' \
  -d '{ "content": "Hello from the other side." }'

본인 필드

필드 유형 참고사항
content 문자열 최대 2,000자까지. 최소 하나의 인포그래픽이 있는 경우 생략될 수 있습니다.
username 문자열 이 메시지의 웹훅 이름을 대체합니다. 최대 80자까지 가능합니다.
avatar_url 문자열 이 메시지의 아바타를 대체합니다. 절대적인 http 또는 https URL.
embeds 배열 최대 10개 임베드.
embed 객체 레거시 단수형. embeds: [embed]로 처리됨.
allowed_mentions 객체 핑을 제어합니다. 아래를 참조하십시오.
tts 논리형 호환성을 위해 승인됨; 현재 무시됨.
flags 번호 호환성을 위해 승인됨; 현재 무시됨.

username는 disband 또는 clyde를 어떤 케이스로도 포함할 수 없습니다. 이는 플랫폼 직원을 사칭하는 웹훅을 방지합니다.

파일 첨부파일은 아직 지원되지 않습니다. 다중부 요청은 파싱할 수 있지만 파일은 저장되지 않습니다. 파일을 업로드해야 하는 경우 봇을 사용하세요.

제어 언급

기본적으로 웹훅은 사용자 언급과 @everyone / @here를 모두 파싱합니다. 이는 Discord와 동일합니다.

아무에게도 핑을 보내기 위해서:

{ "content": "Build 184 finished.", "allowed_mentions": { "parse": [] } }

사용자가 언급할 수 있도록 허용하지만 모든 사람이 언급할 수는 없도록 하려면:

{
  "content": "Thanks @polar.",
  "allowed_mentions": { "parse": ["users"] }
}

데이터베이스는 @everyone를 억제할 때 여전히 저장하지만 알림은 전송되지 않습니다. 필드가 완전히 누락되면 모든 것이 파싱됩니다.

메시지 객체

?wait=true로 응답은 Discord 모양의 메시지가 됩니다. Disband는 id에서 숫자 메시지 ID를 사용합니다.

{
  "id": "4821",
  "type": 0,
  "content": "Deploy finished.",
  "channel_id": "…",
  "guild_id": "…",
  "author": {
    "id": "…",
    "username": "Deploy bot",
    "avatar": "https://example.com/deploy.png",
    "discriminator": "0000",
    "bot": true
  },
  "attachments": [],
  "embeds": [],
  "mentions": [],
  "mention_roles": [],
  "mention_everyone": false,
  "pinned": false,
  "tts": false,
  "timestamp": "2026-10-19T20:15:00.000Z",
  "edited_timestamp": null,
  "flags": 0,
  "components": [],
  "webhook_id": "…"
}

메시지 관리

웹훅은 게시한 메시지를 가져오거나, 편집하거나, 삭제할 수 있습니다. 실행 응답에서 숫자 메시지 ID를 사용합니다.

방법 엔드포인트 결과
GET /webhook/<key>/<token>/messages/<id> 메시지를 가져오세요.
PATCH /webhook/<key>/<token>/messages/<id> content 및/또는 embeds을 편집합니다.
DELETE /webhook/<key>/<token>/messages/<id> 메시지를 삭제합니다. 204을 반환합니다.

예제 편집:

curl -X PATCH 'https://disband.dev/webhook/12345678/01234567890123456789012345/messages/4821' \
  -H 'Content-Type: application/json' \
  -d '{ "content": "Deploy finished — rolled back." }'

그 웹훅이 작성한 메시지만 변경할 수 있습니다. 다른 웹훅은 404 Unknown Message를 받습니다.

웹훅 자체를 관리하다

방법 엔드포인트 결과
GET /webhook/<key>/<token> Webhook 객체(이름, 아바타, 채널, URL).
PATCH /webhook/<key>/<token> { "name": "New name" }로 이름을 바꾸세요.
DELETE /webhook/<key>/<token> 삭제합니다. 204를 반환합니다.

URL를 통해 삭제하는 것은 영구적이며 통합 화면에서 삭제하는 것과 동일합니다.

속도 제한

각 웹훅은 2초당 5개의 요청으로 제한됩니다. 제한은 토큰에 의해 결정되므로 소음 많은 웹훅이 다른 웹훅을 늦추지 않습니다.

제한된 요청은 429을 반환합니다:

{
  "message": "You are being rate limited.",
  "retry_after": 1.34,
  "global": false
}

응답에는 Retry-After(전체 초)와 일반적인 X-RateLimit-* 헤더가 포함되어 있습니다. 지연 시간을 기다린 다음 다시 시도하십시오.

오류

오류는 Discord의 모양을 사용합니다:

{ "message": "Unknown Webhook", "code": 10015 }
상태 코드 의미
400 50006 빈 메시지: 콘텐츠와 포함물이 없습니다.
400 50035 유효하지 않은 본문, 잘못된 인포그래픽 또는 2,000자 이상의 콘텐츠.
404 10015 알 수 없는 웹핫스팟: 잘못된 스페이스 키, 잘못된 토큰 또는 삭제됨.
404 10008 알 수 없는 메시지.
429 — 평가 제한. Retry-After를 존중하십시오.
500 — 서버 오류입니다. 백오프 후 다시 시도하십시오.

404 Unknown Webhook는 의도적으로 스페이스 키인지 토큰인지 잘못되었는지 말하지 않는다.

안전

관계가 있는