Entwicklerportal
Experimentell Die Bot- & App-Plattform wird aktiv weiterentwickelt. Die Unterstützung für selbst gehostete Server ist am 13.08.2026 erschienen und bietet weniger Funktionen als die Cloud. Sieh dir an, was unterstützt wird.
← Doku

App-eigene Emojis

Emojis, die du unter deiner Anwendung hochlädst, sind in jedem Server nutzbar, in dem dein Bot postet, ohne dort einen Emoji-Platz zu belegen. Discord-Parität: gleiches Wire-Format, gleiche <:name:id>-Syntax im Nachrichteninhalt.

Grenzwerte

  • 2.000 Emojis pro Anwendung (weiche Obergrenze, beim Erstellen geprüft).
  • 256 KB maximale Dateigröße.
  • Content-Types: image/png, image/jpeg, image/gif, image/webp.
  • Name: 2–32 Zeichen, Zeichensatz [a-zA-Z0-9_]. Pro App eindeutig, ohne Beachtung der Groß-/Kleinschreibung: BotIcon und boticon kollidieren.

Erkennung von Animationen

Das animated-Flag wird serverseitig aus dem Content-Type des Uploads gesetzt. Alles, was als image/gif hochgeladen wird, gilt als animiert. Der Client kann das nicht überschreiben. Wenn du ein animiertes Emoji im Nachrichteninhalt referenzierst, nutze das Präfix <a:name:id> (identisch zu Discord).

REST-Endpunkte (bot-seitig)

Die Bot-API bietet lesenden Zugriff auf die Emojis deiner Anwendung. Authentifiziere dich mit Authorization: Bot {token}.

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

Antwortform (Listeneinträge und Einzel-GET nutzen dieselbe Discord-Form):

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

Erstellen / Ändern / Löschen sind über die Bot-API nicht verfügbar. Discords Routen POST /applications/{id}/emojis, PATCH und DELETE geben auf GameVox 404 zurück. Die gesamte Emoji-Verwaltung läuft über das Entwicklerportal (siehe unten); wir planen, die Schreib-Endpunkte in Discord-Form anzubieten, sobald die portalseitige Moderationspipeline stabil genug ohne menschliche Prüfung läuft.

Emojis in Nachrichten verwenden

Referenziere App-Emojis in content genauso wie servereigene Emojis:

// Statisch
"hello <:thinking_orange:1199283740192847360>"

// Animiert (beachte das vorangestellte `a:`)
"thanks <a:wave_orange:1199283740192847361>"

Für Reaktionen übergibst du name:id im URL-kodierten Emoji-Pfad von PUT /channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me, genau wie bei Discord.

Upload-Ablauf im Portal

Das Entwicklerportal lädt Emojis über dieselbe Presigned-URL-Pipeline hoch wie Avatare und App-Symbole:

  1. POST /api/uploads/presign mit purpose=bot_app_emoji und application_id.
  2. Die Datei per PUT an die zurückgegebene S3-URL senden.
  3. POST /api/uploads/complete mit der zurückgegebenen file_id.
  4. POST /developer-portal/applications/{id}/emojis mit {name, file_id}.

Der Server prüft, ob das Präfix des s3_key der Datei zu bot-emojis/{application_id}/ passt, sodass eine geleakte file_id aus einer anderen App die Bindung nicht besteht.

Speicherung

Gespeichert unter bot-emojis/{application_id}/{file_id}.{ext} im öffentlichen Bucket gamevox-files-prod. Soft-gelöschte Zeilen lassen das S3-Objekt bestehen; verwaiste Objekte räumt ein Hintergrundprozess ab.

← Zurück zur Doku