Portail développeurs
Expérimental La plateforme de bots et d'apps est en développement actif. La prise en charge des serveurs auto-hébergés est arrivée le 13/08/2026, avec moins de fonctionnalités que le cloud. Voir ce qui est pris en charge.
← Docs

Emojis propres à l’app

Les emojis téléversés sous votre application sont utilisables sur tous les serveurs où votre bot publie, sans consommer d’emplacement d’emoji sur ces serveurs. Parité Discord : même format de transport, même syntaxe <:nom:id> dans le contenu des messages.

Limites

  • 2 000 emojis par application (limite souple, vérifiée à la création).
  • 256 Ko de taille de fichier maximale.
  • Types de contenu : image/png, image/jpeg, image/gif, image/webp.
  • Nom : 2 à 32 caractères, jeu [a-zA-Z0-9_]. Unique par app, sans distinction de casse : BotIcon et boticon entrent en conflit.

Détection de l’animation

Le flag animated est défini côté serveur d’après le type de contenu du téléversement. Tout ce qui est envoyé en image/gif est considéré comme animé. Le client ne peut pas le forcer. Quand vous référencez un emoji animé dans le contenu d’un message, utilisez le préfixe <a:nom:id> (identique à Discord).

Endpoints REST (côté bot)

L’API bots expose un accès en lecture seule aux emojis de votre application. Authentifiez-vous avec Authorization: Bot {token}.

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

Forme de la réponse (les entrées de liste et le GET unitaire utilisent la même forme que Discord) :

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

La création, la modification et la suppression ne sont pas exposées sur l’API bots. Les routes Discord POST /applications/{id}/emojis, PATCH et DELETE renvoient 404 sur GameVox. Toute la gestion des emojis passe par le portail (ci-dessous) ; nous prévoyons d’exposer les endpoints d’écriture au format Discord dès que la chaîne de modération du portail sera assez stable pour tourner sans intervention humaine.

Utiliser les emojis dans les messages

Référencez les emojis d’app dans content exactement comme ceux d’un serveur :

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

// Animé (notez le `a:` initial)
"thanks <a:wave_orange:1199283740192847361>"

Pour les réactions, passez nom:id dans le chemin d’emoji encodé en URL de PUT /channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me, comme sur Discord.

Parcours de téléversement dans le portail

Le portail téléverse les emojis via la même chaîne d’URL présignée que les avatars et les icônes d’app :

  1. POST /api/uploads/presign avec purpose=bot_app_emoji et application_id.
  2. Envoyez le fichier en PUT vers l’URL S3 renvoyée.
  3. POST /api/uploads/complete avec le file_id renvoyé.
  4. POST /developer-portal/applications/{id}/emojis avec {name, file_id}.

Le serveur vérifie que le préfixe de la s3_key du fichier correspond à bot-emojis/{application_id}/, si bien qu’un file_id fuité d’une autre app échoue à la liaison.

Stockage

Stocké dans bot-emojis/{application_id}/{file_id}.{ext} sur le bucket public gamevox-files-prod. Les lignes supprimées logiquement laissent l’objet S3 en place ; les objets orphelins sont récupérés par un processus de fond.

← Retour à la documentation