Comment créer un chatbot dans Discord

Un bot Discord peut faire tout ce qui est disponible dans les autres canaux, et en plus interagir directement avec votre serveur : répondre dans les canaux, les fils de discussion et les messages directs, ajouter des réactions, recevoir et envoyer des fichiers, et modifier ou supprimer ses propres messages. Les fonctionnalités supplémentaires incluent la modération (timeouts, expulsions, bannissements et suppression de messages), la gestion des rôles, la création de canaux pour les tickets et les commandes slash.

La configuration prend environ dix minutes et se compose de deux parties : d'abord, créez le bot côté Discord, puis connectez-le à votre projet dans Mavibot.

Étape 1. Créer une application

Ouvrez le Portail développeur Discord et cliquez sur Nouvelle application. Saisissez un nom — les membres du serveur le verront.

Dans la section Installation, définissez Lien d'installation sur Aucun. Vous créerez vous-même le lien d'installation du bot à l'étape 4 avec les autorisations nécessaires.

Étape 2. Configurer le bot

Allez dans la section Bot.

Désactivez Bot public. Sinon, n'importe qui pourra ajouter votre bot à son serveur.

Activez les intents privilégiés requis — sans eux, Discord n'enverra pas certaines données au bot :

Intent Pourquoi est-ce nécessaire
Message Content Intent Texte du message. Sans cela, le bot peut voir qu'un message a été envoyé mais ne peut pas voir son contenu, donc les déclencheurs basés sur le texte ne fonctionneront pas.
Server Members Intent Événements des membres : arrivées, départs, changements de rôles et de pseudos. Sans cela, les salutations aux nouveaux membres et l'attribution automatique des rôles ne fonctionneront pas.
Presence Intent Statut en ligne. Il n'est pas nécessaire au fonctionnement du bot et n'a pas besoin d'être activé.

Étape 3. Obtenir le jeton du bot

Dans la même section Bot, cliquez sur Réinitialiser le jeton et copiez le jeton qui apparaît. Il n'est affiché qu'une seule fois — sauvegardez-le, car vous en aurez besoin à l'étape 6.

Important ! Le jeton donne un accès complet à votre bot. Ne le publiez pas et ne le partagez pas. Si le jeton est compromis, cliquez à nouveau sur Réinitialiser le jeton. L'ancien jeton cessera immédiatement de fonctionner et vous devrez reconnecter le bot dans Mavibot avec le nouveau jeton.

Étape 4. Sélectionner les autorisations

Ouvrez OAuth2 → Générateur d'URL.

Sous Scopes, sélectionnez :

  • bot — le bot lui-même ;
  • applications.commands — si vous prévoyez d'utiliser des commandes slash. Sans ce scope, les commandes ne peuvent pas être enregistrées sur le serveur.

La section Autorisations du bot apparaîtra ci-dessous. Sélectionnez uniquement les autorisations dont votre bot a réellement besoin — il est préférable de ne pas accorder d'autorisations inutiles.

Autorisations minimales pour la messagerie

Autorisation Ce qui ne fonctionnera pas sans elle
Voir les canaux Le bot ne pourra pas voir les canaux du tout
Envoyer des messages Le bot ne pourra pas répondre
Lire l'historique des messages Les réponses aux messages et les citations ne fonctionneront pas
Intégrer des liens, Joindre des fichiers Les liens avec aperçus et les fichiers ne seront pas envoyés
Ajouter des réactions Le bot ne pourra pas ajouter de réactions

Autorisations supplémentaires pour la modération et l'automatisation

Autorisation À quoi ça sert
Gérer les messages Supprimer les messages des autres utilisateurs et gérer les messages épinglés
Modérer les membres Timeouts (mutes)
Expulser des membres Retirer des membres du serveur
Bannir des membres Bannir et débannir des membres
Gérer les rôles Attribuer et retirer des rôles
Gérer les pseudos Modifier les pseudos des membres
Gérer les canaux Créer et supprimer des canaux, y compris les canaux de tickets
Créer une invitation instantanée Créer des liens d'invitation

Les autorisations peuvent également être modifiées ultérieurement dans les paramètres du rôle du bot sur le serveur sans avoir à reconnecter le bot.

Étape 5. Ajouter le bot à votre serveur

Copiez l'URL générée en bas de la page Générateur d'URL, ouvrez-la dans votre navigateur et sélectionnez le serveur.

Seul le propriétaire du serveur ou un membre disposant de l'autorisation Gérer le serveur peut ajouter le bot.

Après avoir ajouté le bot, vérifiez l'ordre des rôles :

Paramètres du serveur → Rôles

Le rôle du bot doit être positionné au-dessus des rôles qu'il attribuera et au-dessus des rôles des membres qu'il doit modérer.

Il s'agit d'une restriction de Discord : un bot ne peut pas attribuer un rôle qui est au même niveau ou plus élevé que son propre rôle, et il ne peut pas mettre en timeout ou bannir un membre dont le rôle est supérieur à celui du bot.

Étape 6. Laisser le champ URL du point de terminaison des interactions vide

Revenez à la section Informations générales de votre application et assurez-vous que le champ URL du point de terminaison des interactions est vide.

Si quoi que ce soit est spécifié dans ce champ, Discord cesse d'envoyer les clics sur les boutons et les interactions de commandes slash au bot — ils sont envoyés à l'URL spécifiée à la place.

Du point de vue de l'utilisateur, cela se traduit par des boutons dans les messages du bot qui ne fonctionnent pas, tandis que les commandes slash renvoient "L'application n'a pas répondu."

Étape 7. Connecter le bot à votre projet

Dans votre projet Mavibot, ouvrez la section Canaux, cliquez sur Discord et collez le jeton de l'étape 3.

Après quelques secondes, le bot devrait apparaître en ligne sur votre serveur Discord. Si ce n'est pas le cas, assurez-vous que le jeton a été copié complètement et ne contient pas d'espaces supplémentaires.

Vérifier que tout fonctionne

Envoyez un message dans n'importe quel canal du serveur qui devrait déclencher l'une des réponses de votre bot — le bot devrait répondre.

Si le bot est en ligne mais ne répond pas, Message Content Intent n'est très probablement pas activé.

Rejoignez le serveur avec un autre compte ou demandez à un collègue de le rejoindre — le message de bienvenue pour les nouveaux membres devrait se déclencher. Si ce n'est pas le cas, vérifiez Server Members Intent.

Cliquez sur un bouton dans un message du bot. Si rien ne se passe, vérifiez l'URL du point de terminaison des interactions.

Points importants à savoir

Une conversation dans un canal est partagée par tout le monde

Tous les membres du canal écrivent dans la même conversation, comme dans un chat de groupe.

Les variables telles que "qui a envoyé le message" se réfèrent à l'auteur du dernier message et sont écrasées par le message suivant — lisez-les et traitez-les immédiatement dans le même bloc.

Les messages directs avec le bot et les événements de membres tels que les arrivées, les départs et les changements de rôles sont traités dans une conversation séparée pour ce membre.

Les messages directs sont restreints par Discord

Un bot ne peut envoyer un message direct à un membre que si le membre partage un serveur avec le bot et n'a pas désactivé les messages directs des membres du serveur dans ses paramètres de confidentialité.

Si le membre a désactivé les messages directs, le message ne peut pas être délivré — il s'agit d'une restriction de Discord et elle ne peut pas être contournée.

Données complètes du webhook

Si vous attribuez une valeur à la variable save_webhook, toutes les données d'événement entrantes seront sauvegardées dans la variable discord_webhook.

C'est rarement nécessaire — presque tout ce dont vous pourriez avoir besoin du webhook est déjà disponible via des variables séparées.

Problèmes courants

Ce qui se passe Pourquoi
Le bot est en ligne mais ne répond pas au texte Message Content Intent n'est pas activé
Les événements d'arrivée, de départ et de changement de rôle ne sont pas reçus Server Members Intent n'est pas activé
Les boutons ne fonctionnent pas et les commandes slash renvoient "L'application n'a pas répondu" URL du point de terminaison des interactions est remplie
Les commandes slash ne peuvent pas être enregistrées Le bot a été ajouté sans le scope applications.commands — générez une nouvelle URL d'installation et ajoutez à nouveau le bot
Le bot ne peut pas attribuer un rôle Le rôle du bot n'est pas au-dessus du rôle cible, ou le bot n'a pas Gérer les rôles. Les rôles gérés par les intégrations, y compris les rôles des autres bots, et le rôle @everyone ne peuvent pas être attribués
Le bot ne peut pas mettre en timeout ou bannir un membre Le rôle du membre est supérieur à celui du bot, ou le bot n'a pas Modérer les membres / Bannir des membres
Le bot ne peut pas voir un canal spécifique Les autorisations au niveau du canal remplacent les autorisations au niveau du serveur. Vérifiez les autorisations du rôle du bot dans les paramètres de ce canal
Les messages ne peuvent pas être supprimés Le bot n'a pas Gérer les messages. Discord permet la suppression en masse uniquement pour les messages de moins de 14 jours

Prochaines étapes

Un chatbot Discord prend en charge les mêmes fonctionnalités de base que les bots dans d'autres canaux : il peut envoyer des messages dans les canaux, les fils de discussion et les messages directs, ajouter des réactions, envoyer et recevoir des pièces jointes, et modifier ou supprimer ses propres messages.

Pour les fonctions de gestion du serveur disponibles depuis le flux de votre bot, consultez "Fonctions de l'API Discord."

Pour apprendre à construire le flux de messages lui-même, consultez "Comment créer un chatbot pour les entreprises."

Pour laisser l'IA communiquer avec les clients dans Discord, activez un Assistant IA — consultez la section "Assistant IA."