← Docs
Matrice des fonctionnalités
Une vue “est-ce que ça marche ?” de chaque fonctionnalité de bot Discord sur GameVox. Servez-vous-en pour cadrer une migration avant de basculer l’URL du gateway. La colonne Auto-hébergé indique si une fonctionnalité marche lorsque votre bot est installé sur le serveur GameVox auto-hébergé d’un client. Voir la documentation sur l’auto-hébergement pour l’architecture de renvoi.
| Domaine | Fonctionnalité | Cloud | Auto-hébergé | Remarques |
|---|---|---|---|---|
| Gateway | Encodage JSON | Oui | Oui | Par défaut ; ce qu’utilisent toutes les bibliothèques |
| Compression zlib-stream | Oui | Oui | Couverte par toutes les grandes bibliothèques | |
| Encodage ETF | Non | Non | Les bibliothèques se rabattent sur JSON quand encoding=etf est absent | |
| Compression Zstandard | Non | Non | zlib-stream est l’alternative universelle | |
| Resume / op:6 | Oui | Oui | Le tampon de reprise est répliqué dans Redis, donc op:6 survit aux redémarrages des tâches api | |
| Sharding | Oui | Oui | Hachage standard (guild_id >> 22) % num_shards | |
| REST | CRUD des messages | Oui | Oui | Envoi, modification, suppression, suppression groupée, lecture, épinglage, indicateur de saisie, réactions, pièces jointes, sondages |
| CRUD des salons | Oui | Oui | Cloud : réordonnancement, et écriture des exceptions de rôle (PUT et DELETE) ; les objets salon ne listent pas encore les exceptions. Auto-hébergé : réordonnancement oui, exceptions de rôle oui (pas d’exceptions de membre), listées sur les objets salon | |
| Exceptions de permissions par salon | Partiel | Partiel | Exceptions de rôle (groupe) uniquement, pas d’exceptions de membre. Leur écriture (PUT, DELETE) fonctionne dans le cloud et en auto-hébergé. Leur lecture (permission_overwrites sur les objets salon et CHANNEL_UPDATE) est pour l’instant réservée à l’auto-hébergé ; les objets salon du cloud n’incluent pas ce champ. En auto-hébergé, une autorisation n’accorde jamais plus que ce que le rôle lui-même a le droit de faire | |
| Membres / rôles / bannissements | Oui | Oui | CRUD complet ; communication_disabled_until (timeout) non pris en charge | |
| Webhooks (salon & app) | Oui | Oui | CRUD complet + exécution (embeds, pièces jointes, multipart). Sur les serveurs auto-hébergés, les enregistrements restent dans le stockage cloud et les messages produits par l’exécution sont écrits dans le salon auto-hébergé | |
| Emojis propres à l’app | Portail seul | Portail seul | Gérés dans le portail développeur ; le GET de l’API bots fonctionne. Voir Emojis | |
| Journal d’audit | Partiel | Partiel | Entrées pertinentes pour les bots ; l’historique des exceptions par salon n’est pas indexé | |
| En-têtes de limitation de débit | Oui | Oui | X-RateLimit-* sur chaque réponse, avec gestion des buckets | |
| Interactions | Commandes d’application (slash, utilisateur, message) | Oui | Oui | PUT groupé + CRUD unitaire. Les commandes sont enregistrées dans le cloud pour les deux types de serveur ; les invocations sur les serveurs auto-hébergés passent par le cloud |
| Boutons, sélecteurs de texte, modales (Composants v1) | Oui | Oui | Réponses éphémères comprises. Salons de serveur uniquement, pas les MP. Voir Composants de message | |
| Sélecteurs d’utilisateur, de rôle, de mentionnable et de salon | Partiel | Partiel | Acceptés et enregistrés ; les clients les affichent désactivés, ils ne produisent donc jamais d’interaction | |
| Composants v2 | Non | Non | Non pris en charge ; les composants de mise en page v2 ne sont pas affichés | |
| Interactions en mode HTTP (endpoint sortant) | Partiel | Partiel | Envoyées en POST à votre interactions_endpoint_url avec signature Ed25519, avec repli sur le gateway si l’endpoint échoue. Nécessite une session gateway connectée, et le corps de la réponse est ignoré : répondez via l’endpoint de callback. Voir OAuth2 | |
| Vocal | Gateway vocal UDP | Oui | Oui | Par région. Voir la documentation vocale |
| AEAD AES-256-GCM | Oui | Oui | Privilégié | |
| AEAD XChaCha20-Poly1305 | Oui | Oui | Repli | |
| Modification de l’état vocal par le bot | Oui | Partiel | Les deux : PATCH .../voice-states/{user_id} pour rendre muet / déplacer / déconnecter. L’auto-hébergé accepte aussi deaf, dans n’importe quelle combinaison avec un déplacement ; un déplacement émet deux événements au lieu d’un | |
| Divers | Emojis de serveur (lecture) | Oui | Oui | Lister + lire ; création/modification/suppression via le portail uniquement |
| Soundboard (lecture) | Oui | Oui | Lister + lire ; la diffusion de sons pilotée par le bot n’est pas prise en charge | |
| URL personnalisée | Partiel | Non | Cloud : lecture + modification (serveurs Gold et plus). Auto-hébergé : le PATCH renvoie 501 | |
| Fils / publications de forum | Partiel | Partiel | Publications de forum : en créer une (POST /channels/{forum}/threads), la lire et y répondre. Les autres endpoints de fils (archivage, membres d’un fil, fils actifs) ne sont pas pris en charge | |
| Événements programmés | Oui | Partiel | CRUD et RSVP, associés aux événements de serveur GameVox. Pas d’événements gateway GUILD_SCHEDULED_EVENT_*. Auto-hébergé : les événements récurrents sont enregistrés, mais les occurrences suivantes ne sont pas générées | |
| Salons de conférence, AutoMod | Non | Non | Intents acceptés, aucun événement | |
| Premium Apps / entitlements | Non | Non | Aucune couche de monétisation en v1 | |
| Portail | Équipes (propriété multi-développeurs) | Oui | Parité Discord. Voir Équipes | |
| Transfert d’app vers une équipe | Oui | À sens unique (comme Discord) | ||
| Testeurs d’app (liste blanche d’installation pour apps privées) | Oui | 100 par app. Voir Équipes → Testeurs | ||
| URL d’installation OAuth2 (contextes utilisateur + serveur) | Oui | Aucune / fournie par GameVox / URL personnalisée. Voir OAuth2 | ||
| Rotation du secret client | Oui | Haché en bcrypt ; affiché une fois à la création / rotation | ||
| Fiche dans l’annuaire des bots | Oui | Fiches validées par l’administration sur gamevox.com/bots | ||
Légende
- Oui: fonctionne comme sur Discord, sans changement de code.
- Partiel: compatible au niveau du protocole, mais une partie de la sémantique manque. L’appel est sans risque, mais peut ne pas produire d’événements.
- Non: accepté au niveau du transport (pas de 4014), mais sans effet. Partez du principe que cette fonctionnalité est absente.