Donc votre bot est affecté par un code d'erreur de limite d’actions.
Limites d’actions de l'API
Si une limite d’actions est dépassée (actuellement, 50 demandes par seconde), l'API renverra un code de réponse HTTP 429. La limite pour les demandes non valides est actuellement de 10 000 par 10 minutes. Toutefois, si votre bot est temporairement banni de l'API par CloudFlare, il est fort probable qu'il ne s'agisse pas d'un problème de limite d’actions globale, mais plutôt d'un pic d'erreurs qui n'ont pas été correctement traitées.
La première chose que nous voulons noter est que nous ne levons la limite d’actions globale sur les applications que dans de très rares circonstances. La bonne nouvelle, c'est qu'il existe des solutions de contournement que nous encourageons les développeurs à examiner lorsqu'ils créent leurs applications.
Nous tenons également à mentionner que les points de terminaison des interactions ne sont pas liés à la limite d’actions. La migration de la fonctionnalité vers les commandes d'application, lorsque cela est possible, pourrait donc être une autre solution. Jetez un coup d'œil à notre documentation sur ce sujet en cliquant ici, ou à la documentation de la bibliothèque de votre choix.
Limites d’actions de la Gateway
Pour envoyer des données vers/depuis Discord, votre application se connecte à un websocket. Le partage est généralement une bonne pratique pour les applications, en particulier lorsqu'elles continuent à se développer et à évoluer sur Discord. Il s'agit d'un moyen sûr de travailler non pas tout à fait autour... mais avec les limitations d’actions de notre API. Le sharding ouvre plusieurs websockets afin que les données puissent être échangées sur toutes ces connexions plutôt que de surcharger une seule.
shard_id = (guild_id >> 22) % num_shards
Le flux des guildes/serveurs sera acheminé vers un shard (websocket ouvert) et leurs requêtes seront exécutées en parallèle les unes aux autres pour rester sous la limite d’actions globale. Pensez au sharding comme à la division de votre bot en plusieurs instances de lui-même. C'est entièrement contrôlé par l'utilisateur et n'est rendu plus simple que par la bibliothèque de votre choix !
Quant au sharding de gros bots et à l'augmentation de la limite d’actions globale, ce sont des services que nous ne pouvons offrir qu'aux bots qui opèrent sur 150 000 serveurs ou plus. Vous pouvez en savoir plus sur le fonctionnement de ces demandes dans notre documentation : https://discord.com/developers/docs/topics/gateway#sharding-for-very-large-bots
Pour en savoir plus sur le paramétrage et la configuration des shards, cliquez ici.