> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Erreurs des bots Discord sur Square Cloud : LoginFailure, Intents non autorisés, Lavalink 1006

> Corrigez LoginFailure Improper token has been passed, TOKEN_INVALID, Used disallowed intents, Message Content Intent, Lavalink connection closed with code 1006, et les bots Discord qui passent hors ligne sur Square Cloud.

Les erreurs de bots Discord sur Square Cloud remontent généralement au token, aux intents de la gateway, ou à une incompatibilité de version avec Lavalink. Trouvez le message exact ci-dessous.

## « LoginFailure: Improper token has been passed » / TOKEN\_INVALID

**Ce que ça signifie :** la bibliothèque rejette le token utilisé pour la connexion (discord.js lève `LoginFailure`/« An invalid token was provided » ; d'autres stacks renvoient un `TOKEN_INVALID` en 401).

**Pourquoi ça arrive :**

* Le token a été régénéré ou révoqué dans le Developer Portal de Discord. Générer un nouveau token invalide instantanément l'ancien partout où il est utilisé.
* La chaîne du token a des espaces ou des guillemets copiés par accident.
* Le code lit la mauvaise variable d'environnement.

**Comment corriger :**

1. Allez sur le [Developer Portal](https://discord.com/developers/applications) → votre application → **Bot** → **Reset Token**.
2. Mettez à jour le token dans les **Variables d'environnement** de cette application dans le tableau de bord Square Cloud. Ne commitez jamais le token dans un fichier envoyé dans le `.zip`.
3. Vérifiez qu'il n'y a pas d'espaces ou de guillemets superflus autour de la valeur.
4. Mettez à jour la bibliothèque (`discord.js@latest` ou `pip install -U discord.py`).
5. Redémarrez l'application.

<Warning>Ne codez jamais en dur votre token de bot dans les fichiers source. Lisez-le toujours depuis une variable d'environnement définie dans le tableau de bord.</Warning>

## « Used disallowed intents » / Message Content Intent

**Ce que ça signifie :** le bot se connecte et apparaît en ligne, mais ignore tous les messages, ou la gateway rejette la connexion avec « used disallowed intents ».

**Pourquoi ça arrive :** depuis 2022, **Message Content** est un intent privilégié. Sans l'activer explicitement aux deux endroits, le contenu des messages arrive vide (ou la connexion à la gateway est refusée si votre code déclare un intent non activé pour l'application).

**Comment corriger, aux deux endroits :**

1. Developer Portal Discord → votre application → **Bot** → **Privileged Gateway Intents** → activez **Message Content Intent**.
2. Déclarez-le également dans le code :

```javascript theme={null}
// discord.js
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
  ],
});
```

```python theme={null}
# discord.py
intents = discord.Intents.default()
intents.message_content = True
client = commands.Bot(command_prefix="!", intents=intents)
```

3. Redémarrez l'application.

<Note>Une fois qu'un bot dépasse 100 serveurs, les intents privilégiés (y compris Message Content) nécessitent aussi une approbation de Discord, demandée depuis la même page du Developer Portal.</Note>

## Connexion Lavalink fermée avec le code 1006

**Ce que ça signifie :** le client Lavalink du bot ferme le WebSocket anormalement avec le code 1006, souvent précédé de « Unexpected server response: 400 ».

**Pourquoi ça arrive :** c'est une incompatibilité de version. Lavalink v4 est basé sur REST et est incompatible avec un wrapper client construit pour v3, donc le handshake échoue et le socket se ferme avec 1006.

**Comment corriger :**

1. Alignez la version du wrapper client Lavalink de votre bot avec la version majeure du serveur Lavalink (client v3 avec serveur v3, client v4 avec serveur v4).
2. Sur Square Cloud, le serveur Lavalink lui-même se lie au port `80`, mais votre bot doit s'y connecter via la périphérie sur le port `443` avec `secure: true`.
3. Redémarrez à la fois l'application Lavalink et l'application du bot après avoir corrigé l'incompatibilité de version.

Pour la configuration complète de l'hébergement Lavalink (fichier de config, port, déploiement), consultez le [tutoriel du serveur Lavalink](/fr/tutorials/how-to-create-your-lavalink-server).

## Le bot passe hors ligne après avoir fonctionné en local

**Ce que ça signifie :** le bot se connecte correctement quand vous l'exécutez sur votre machine, mais passe hors ligne (ou redémarre en boucle) une fois déployé.

**Pourquoi ça arrive, le plus souvent :**

* Une connexion instable au niveau de la gateway sans gestion de reconnexion.
* Des versions de dépendances conflictuelles ou incompatibles entre ce que vous avez testé en local et ce qui est dans votre fichier de dépendances.
* Des déclencheurs d'abus de l'API Discord (un compte reçoit un e-mail de notification dans ce cas) dus à des limites de débit dépassées de façon trop agressive.

**Comment corriger :**

1. Vérifiez d'abord les logs de l'application dans le tableau de bord, ils montrent la véritable raison du crash.
2. Ajoutez des gestionnaires d'erreurs pour qu'une erreur transitoire ne fasse pas planter le processus : `process.on("unhandledRejection", ...)` et `client.on("error", ...)` dans discord.js, gestion équivalente dans discord.py.
3. Square Cloud redémarre automatiquement une application plantée (`AUTORESTART` dans le manifeste) quand la durée de fonctionnement précédente dépassait 60 secondes, que le statut de sortie était 1, et qu'elle ne s'est pas déjà redémarrée automatiquement dans les 60 dernières minutes. Cela maintient le bot en vie à travers les erreurs transitoires, mais ne corrige jamais une erreur de code sous-jacente, une erreur de syntaxe ou une dépendance manquante, celles-ci nécessitent toujours une correction dans le code.
4. Surveillez les limites de débit de l'API Discord (429) : la limite globale est d'environ 50 requêtes/seconde par token de bot, avec des buckets par route plus stricts (création/modification de salon autorise environ 2 changements par 10 minutes par salon). Mettez en cache de façon agressive, utilisez une file asynchrone qui respecte les en-têtes `X-RateLimit-Remaining`/`X-RateLimit-Reset-After`, et utilisez des webhooks pour les envois en masse.

Consultez le [tutoriel complet d'hébergement de bot Discord](/fr/tutorials/bots/discord) pour une configuration depuis zéro.

<Tip>Si les logs ne pointent pas vers une cause claire, notre équipe de support peut vous aider à approfondir.</Tip>

## Contactez-nous

Si vous rencontrez toujours des **difficultés techniques**, notre **équipe de support spécialisée** est disponible pour vous aider. [**Contactez-nous**](https://squarecloud.app/fr/support) et nous serons ravis de vous aider à résoudre tout problème. La qualité du support compte pour beaucoup dans la note que les développeurs donnent à Square Cloud, [**4,9/5 sur 402 avis**](https://www.trustpilot.com/review/squarecloud.app) sur Google et Trustpilot.
