개발자 포털
실험적 봇 및 앱 플랫폼은 활발히 개발 중입니다. 자체 호스팅 서버 지원은 2026-08-13에 출시되었으며 클라우드보다 기능 범위가 좁습니다. 지원 항목 보기.
← 문서

앱 소유 이모지

애플리케이션에 업로드한 이모지는 봇이 게시하는 어떤 서버에서도, 그 서버의 이모지 슬롯을 쓰지 않고 사용할 수 있습니다. Discord와 동등하게 와이어 포맷도, 메시지 본문의 <:name:id> 문법도 같습니다.

제한

  • 애플리케이션당 2,000개(소프트 한도이며 생성 시 확인합니다).
  • 256 KB 최대 파일 크기.
  • 콘텐츠 유형: image/png, image/jpeg, image/gif, image/webp.
  • 이름: 2~32자, 사용 가능한 문자는 [a-zA-Z0-9_]. 앱마다 고유해야 하며 대소문자는 구분하지 않습니다(BotIconboticon은 충돌합니다).

움직임 감지

animated 플래그는 업로드의 콘텐츠 유형을 보고 서버에서 설정합니다. image/gif로 업로드된 것은 움직이는 이모지로 처리되며, 클라이언트가 이를 덮어쓸 수 없습니다. 메시지 본문에서 움직이는 이모지를 참조할 때는 <a:name:id> 접두사를 사용하세요(Discord와 동일합니다).

REST 엔드포인트(봇용)

봇 API는 애플리케이션의 이모지에 대한 읽기 전용 접근을 제공합니다. Authorization: Bot {token}으로 인증하세요.

GET /applications/{application.id}/emojis
GET /applications/{application.id}/emojis/{emoji.id}

응답 형태(목록 항목과 단건 GET 모두 Discord와 같은 형태입니다):

{
  "id": "1199283740192847360",
  "name": "thinking_orange",
  "animated": false,
  "user": { "id": "...", "username": "you" },
  "managed": false,
  "available": true
}

생성 / 수정 / 삭제는 봇 API에서 제공하지 않습니다. Discord의 POST /applications/{id}/emojis, PATCH, DELETE 경로는 GameVox에서 404를 반환합니다. 이모지 관리는 모두 개발자 포털(아래)에서 이루어집니다. 포털 쪽 조정 파이프라인이 사람 손 없이 운영될 만큼 안정되면 Discord 형태의 쓰기 엔드포인트를 제공할 계획입니다.

메시지에서 이모지 사용하기

서버 이모지와 똑같이 content 안에서 앱 이모지를 참조하세요.

// 정지 이미지
"hello <:thinking_orange:1199283740192847360>"

// 움직이는 이미지(앞의 `a:`에 주의)
"thanks <a:wave_orange:1199283740192847361>"

반응에서는 Discord와 마찬가지로 PUT /channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me의 URL 인코딩된 이모지 경로에 name:id를 전달합니다.

포털의 업로드 절차

개발자 포털은 아바타·앱 아이콘과 같은 사전 서명 URL 파이프라인으로 이모지를 업로드합니다.

  1. purpose=bot_app_emojiapplication_id를 담아 POST /api/uploads/presign.
  2. 반환된 S3 URL로 파일을 PUT.
  3. 반환된 file_id를 담아 POST /api/uploads/complete.
  4. {name, file_id}를 담아 POST /developer-portal/applications/{id}/emojis.

서버는 파일의 s3_key 접두사가 bot-emojis/{application_id}/와 일치하는지 확인하므로, 다른 앱에서 유출된 file_id로는 연결에 실패합니다.

저장

공개 버킷 gamevox-files-prodbot-emojis/{application_id}/{file_id}.{ext}에 저장됩니다. 논리 삭제된 행은 S3 객체를 그대로 두며, 남겨진 객체는 백그라운드 스위퍼가 정리합니다.

← 문서로 돌아가기