Så din bot bliver ramt af en rate limit fejlkode.
API Rate Limits
Hvis en rate limit overskrides (i øjeblikket 50 anmodninger pr. sekund), returnerer API'en en HTTP 429-svarkode. Grænsen for ugyldige anmodninger er i øjeblikket 10.000 pr. 10 minutter. Men hvis din bot midlertidigt bliver forbudt CloudFlare fra API'en, så er det højst sandsynligt ikke et problem med den globale rate limit og er mere sandsynligt en stigning i fejl, der ikke blev håndteret korrekt.
Det første, vi vil bemærke, er, at vi under meget få omstændigheder hæver den globale rate limit for applikationer. Den gode nyhed er, at der er tilgængelige løsninger, som vi opfordrer udviklere til at se nærmere på, når de bygger deres apps.
Vi vil også nævne, at interaktionsendepunkter ikke er bundet til rate limit. Så migrering af funktionalitet til applikationskommandoer, hvor det er muligt, kunne være en anden løsning. Tag bestemt et kig på vores dokumenter om det her, eller dokumentation for biblioteket efter dit valg.
Gateway Rate Limits
For at sende data til/fra Discord forbindes din applikation til en websocket. Sharding er generelt en bedste praksis for applikationer, især da de fortsætter med at vokse og skalere på Discord. Det er en sikker måde at arbejde på, dog ikke helt omkring … men inden for vores API rate limits. Sharding åbner flere websockets, så data kan udveksles på tværs af alle disse forbindelser i stedet for at overbelaste en.
shard_id = (guild_id >> 22) % num_shards
Trafik fra guilds/servere vil blive dirigeret til et shard (åben websocket), og deres anmodninger vil køre parallelt med hinanden for at holde sig under den globale rate limit. Tænk på sharding som at opdele din bot i flere forekomster af sig selv. Det er fuldstændig brugerstyret og gøres kun enklere af dit valgte bibliotek!
Med hensyn til store bot-sharding og en øget global rate limit, så er disse tjenester, som vi kun kan tilbyde til bots, der opererer på 150.000 servere eller mere. Du kan lære mere om, hvordan disse anmodninger fungerer i vores dokumentation: https://discord.com/developers/docs/topics/gateway#sharding-for-very-large-bots
Du kan læse mere om, hvordan du finjusterer og konfigurerer shards her.