Un jeton de bot Discord est le mot de passe du compte d'un bot : quiconque le détient peut connecter ce bot à Discord et lui faire faire tout ce que ses permissions autorisent, sur chaque serveur qu'il a déjà rejoint. Vous en obtenez un gratuitement depuis le portail des développeurs de Discord lorsque vous créez une application de bot. Traitez-le comme un mot de passe, car c'en est un, et non comme un identifiant public tel que l'identifiant utilisateur d'un bot ou son lien d'invitation.

Comment obtenir un jeton de bot Discord

  1. Ouvrez le portail des développeurs. Rendez-vous sur discord.com/developers/applications et connectez-vous avec le compte Discord qui doit posséder le bot.
  2. Créez une application. Cliquez sur Nouvelle application et donnez-lui un nom. Ce nom n'est pas encore le nom affiché du bot, il ne concerne que l'application.
  3. Ouvrez l'onglet Bot. Discord ajoute automatiquement un utilisateur bot à l'application. Définissez ici son nom d'utilisateur et son avatar : c'est ce que verront les membres sur le serveur.
  4. Activez les intents dont vous avez besoin. Sous Intents de passerelle privilégiés, l'intent Membres du serveur et l'intent Contenu des messages sont désactivés par défaut. La plupart des bots qui accueillent de nouveaux membres, lisent le texte des messages ou suivent les rôles ont besoin des deux.
  5. Cliquez sur Réinitialiser le jeton. Discord génère le jeton et ne vous le montre qu'une seule fois. Copiez-le immédiatement : il est impossible de revoir ce même jeton plus tard. Cliquer une seconde fois sur Réinitialiser le jeton invalide le premier et en génère un nouveau.
  6. Collez-le là où il est nécessaire. Dans le code de votre propre bot sous forme de variable d'environnement, ou dans le champ prévu du tableau de bord de votre hébergeur, jamais dans un message de chat, un dépôt public ou un ticket de support.

Ce que confère réellement un jeton de bot

Le jeton est le moyen par lequel le code s'authentifie en tant qu'utilisateur bot auprès de la passerelle et de l'API REST de Discord. Avec un jeton valide, le code peut :

  • Connecter le bot et le maintenir en ligne
  • Envoyer et lire des messages dans tout salon que le bot peut voir
  • Effectuer toute action autorisée par les permissions du rôle du bot sur chaque serveur qu'il a déjà rejoint : gérer les rôles, expulser, bannir, supprimer des salons, etc.
  • Lire les messages privés du bot et répondre aux interactions (commandes slash, boutons, formulaires modaux)

Ce qu'il ne confère pas : la possibilité d'ajouter le bot à de nouveaux serveurs. Inviter un bot exige un lien d'autorisation OAuth2 distinct, construit à partir de l'identifiant client de l'application et d'un ensemble de permissions choisi, que l'administrateur d'un serveur doit approuver. Un jeton divulgué ne peut donc pas servir à inviter le bot ailleurs, mais il peut causer de réels dégâts sur chaque serveur que le bot a déjà rejoint, dans la limite des permissions qu'il y détient.

Pourquoi vous ne devez jamais coller un jeton de bot dans un chat

Un jeton de bot est un identifiant en clair, sans date d'expiration intégrée. Quiconque le possède peut faire tourner sa propre copie de l'identité de votre bot jusqu'à ce que vous réinitialisiez le jeton, y compris dans des serveurs de support Discord, des tickets GitHub ou des partages d'écran où il reste visible, même brièvement. Le publier publiquement, par exemple dans un commit GitHub, est considéré par Discord comme un identifiant compromis, et c'est un moyen courant de détourner des bots pour envoyer du spam à tous les serveurs qu'ils rejoignent. Il est impossible de savoir après coup qui a utilisé un jeton divulgué ni ce qu'il en a fait : la seule solution est de le réinitialiser.

La même prudence s'applique au partage d'un jeton avec un hébergeur. Ne le collez que dans le champ prévu du tableau de bord de l'hébergeur, via HTTPS, jamais dans un message adressé à une personne, aussi digne de confiance soit-elle, et jamais dans un rapport de bug.

Réinitialiser un jeton révoque l'accès immédiatement

Cliquer sur Réinitialiser le jeton dans le portail des développeurs invalide immédiatement l'ancien jeton. Chaque processus qui l'utilise encore, votre propre code, un hébergeur, ou toute personne qui l'a obtenu sans autorisation, est déconnecté lors de sa prochaine tentative de reconnexion et ne peut plus se reconnecter avec l'ancienne valeur. C'est le mécanisme derrière deux points à connaître :

  • C'est votre interrupteur d'urgence. Si vous soupçonnez une fuite de jeton, réinitialisez-le avant toute autre chose. Le bot passe hors ligne pour quiconque détient l'ancien jeton, et ne revient en ligne que là où le nouveau jeton est saisi.
  • C'est aussi la façon de changer d'hébergeur. Vous avez confié votre jeton à un service d'hébergement et souhaitez partir ? Réinitialisez le jeton dans le portail des développeurs : leur accès prend fin immédiatement, sans qu'il soit nécessaire de leur demander de supprimer quoi que ce soit.

Un bot déconnecté par la réinitialisation de son jeton affiche généralement le code de fermeture de passerelle 4004 (jeton invalide) dans ses journaux, ce qui signifie que Discord ne reconnaît plus l'identifiant qu'il a tenté d'utiliser.

A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

Comment Noxyr stocke votre jeton

Noxyr ne demande un jeton de bot que pour sa fonctionnalité Custom Bot, qui vous permet de faire tourner l'ensemble des fonctionnalités de Noxyr sous le nom et l'avatar de votre propre bot. Le jeton est stocké chiffré, utilisé uniquement pour connecter votre bot à la passerelle de Discord, et n'est jamais réaffiché ni à vous ni à qui que ce soit après que vous l'avez collé. Si vous souhaitez couper l'accès à tout moment, réinitialisez le jeton dans le portail des développeurs de la même façon que décrit plus haut : le bot de Noxyr est déconnecté dès que vous le faites, exactement comme n'importe quel client utilisant l'ancien jeton. Les étapes complètes de configuration, les intents requis et le modèle d'accès gratuit par vote Top.gg sont détaillés dans la documentation Custom Bot et dans notre guide de configuration de Custom Bot.

Questions fréquentes

Où trouver mon jeton de bot Discord ? Portail des développeurs, votre application, onglet Bot, puis Réinitialiser le jeton. Il est affiché une seule fois, au moment de sa génération : aucune page n'affiche de nouveau un jeton existant.

Est-il sûr de partager un jeton de bot ? Non. Le partager, même en privé, donne à cette personne le contrôle total du bot sur chaque serveur qu'il a rejoint. Saisissez-le uniquement dans votre propre code ou dans le champ prévu du tableau de bord de votre hébergeur.

Que se passe-t-il si je réinitialise le jeton de mon bot ? L'ancien jeton cesse immédiatement de fonctionner partout où il était utilisé. Vous obtenez un nouveau jeton à coller dans votre code ou le tableau de bord de votre hébergeur ; l'identité du bot, ses serveurs et ses données existantes ne sont pas affectés.

Un jeton divulgué peut-il servir à ajouter mon bot à d'autres serveurs ? Non. Cela exige le lien d'invitation OAuth2 distinct et l'approbation d'un administrateur sur le serveur cible. Un jeton divulgué reste toutefois dangereux sur chaque serveur où le bot est déjà présent.

Réinitialiser le jeton supprime-t-il quoi que ce soit ? Non. Il invalide seulement l'ancien identifiant. Les réglages, les rôles et les données stockées liés à l'application du bot et à son identifiant utilisateur restent exactement tels qu'ils étaient.

Vous configurez votre propre bot ? Ajoutez Noxyr gratuitement, ou consultez le guide d'hébergement si vous écrivez votre propre code.