Emojis na pag-aari ng app
Magagamit ang emojis na na-upload sa ilalim ng application mo sa kahit anong server na pinagpo-post-an ng bot mo, nang hindi kumakain ng emoji slot ng server na iyon. Discord parity: parehong wire format, parehong <:name:id> syntax sa message content.
Mga limit
- 2,000 emojis kada application (soft cap, ine-enforce pag-create).
- 256 KB max na file size.
- Content types:
image/png,image/jpeg,image/gif,image/webp. - Pangalan: 2–32 characters, charset
[a-zA-Z0-9_]. Unique kada app, case-insensitive: nagko-collide angBotIconatboticon.
Animated detection
Sine-set sa server-side ang animated flag base sa content type ng upload. Animated ang anumang na-upload bilang image/gif. Hindi ito mao-override ng client. Kapag nagre-reference ka ng animated emoji sa message content, gamitin ang <a:name:id> prefix (pareho sa Discord).
REST endpoints (para sa bot)
Read-only access sa emojis ng application mo ang ine-expose ng bot-API. Mag-authenticate gamit ang Authorization: Bot {token}.
GET /applications/{application.id}/emojis
GET /applications/{application.id}/emojis/{emoji.id} Response shape (parehong Discord shape ang list entries at ang single-emoji GET):
{
"id": "1199283740192847360",
"name": "thinking_orange",
"animated": false,
"user": { "id": "...", "username": "you" },
"managed": false,
"available": true
} Hindi naka-expose sa bot API ang create / patch / delete. Nagbabalik ng 404 sa GameVox ang POST /applications/{id}/emojis, PATCH, at DELETE routes ng Discord. Sa developer portal (sa ibaba) ginagawa ang lahat ng emoji management; plano naming i-expose ang Discord-shape write endpoints kapag stable na ang moderation pipeline sa portal para tumakbo nang walang tao sa loop.
Paggamit ng emojis sa messages
I-reference ang app emojis sa content gaya ng server emojis:
// Static
"hello <:thinking_orange:1199283740192847360>"
// Animated (pansinin ang `a:` sa unahan)
"thanks <a:wave_orange:1199283740192847361>" Para sa reactions, ipasa ang name:id sa URL-encoded na emoji path sa PUT /channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me, pareho sa Discord.
Upload flow sa portal
Nag-a-upload ang developer portal ng emojis gamit ang parehong presigned-URL pipeline ng avatars at app icons:
POST /api/uploads/presignna maypurpose=bot_app_emojiatapplication_id.- I-
PUTang file sa ibinalik na S3 URL. POST /api/uploads/completekasama ang ibinalik nafile_id.POST /developer-portal/applications/{id}/emojisna may{name, file_id}.
Vine-verify ng server na tugma ang s3_key prefix ng file sa bot-emojis/{application_id}/, kaya pumapalya ang bind kapag gumamit ng leaked na file_id mula sa ibang app.
Storage
Naka-store sa bot-emojis/{application_id}/{file_id}.{ext} sa public na gamevox-files-prod bucket. Hindi ginagalaw ang S3 object ng soft-deleted rows; ang mga orphaned object ay nililinis ng isang background sweeper.