Comment créer un bot Discord avec ChatGPT sans aucunes connaissances en développement

Vous êtes un utilisateur de Discord et vous souhaitez créer un bot pour enrichir l'expérience de votre communauté, ou la votre, mais vous n'avez aucune compétence en développement ? Pas de souci ! Dans cet article, nous vous proposons un tutoriel simple et accessible pour vous guider étape par étape dans la création de votre propre bot Discord en utilisant Python, Replit et ChatGPT.

Je vous encourage à lancer ChatGPT de votre côté et à vivre l'expérience tout en vous faisant votre propre idée plutôt que d'utiliser le code utilisé dans ce guide. Ainsi, vous pourrez appliquer le code spécifique que ChatGPT vous fournira lui-même tout au long du processus. À la fin de ce tutoriel, vous serez capable de créer un bot Discord fonctionnel sans avoir besoin d'être un expert en programmation. Alors, préparez-vous à donner vie à votre bot.

Si vous cherchiez à intégrer ChatGPT dans un bot Discord, ce guide est fait pour vous :

Comment intégrer ChatGPT dans un bot Discord pour avoir son propre ChatBot
Dans ce tutoriel, nous vous montrerons comment créer un bot Discord en intégrant ChatGPT d’OpenAI via leur API. Ce chatbot pourra comprendre et répondre aux requêtes des utilisateurs de manière pertinente. Que ce soit pour du support client, animer un serveur Discord ou explorer les avancées en inte…

Créer un compte sur Replit

Replit est une plateforme de développement en ligne qui permet de créer, exécuter et partager des projets de programmation dans différents langages, directement depuis votre navigateur web. Nous ne voulons pas perdre du temps à configurer un serveur en local, nous allons utiliser Replit qui va nous permettre d'héberger notre bot et d'éditer notre code. Rendez-vous sur leur site et créer un compte.

Importer un environnement de dev sur Replit

Une fois que vous êtes connecté, cliquez sur Create Repl en haut à gauche. Il est même possible de le faire sur mobile avec l'application Replit. Dans la recherche, tapez discord bot vous devriez trouver Python Discord Bot, il s'agit d'un exemple de code pour créer un Bot Discord en Python. Choisissez le et trouver un nom pour votre Repl et cliquez sur Create Repl.

Choisir Python Discord Bot sur Replit

Créer le bot sur Discord

Pendant que Replit charge votre environnement de travail, vous allez pouvoir vous rendre sur le site Discord Developer portal et créer votre bot.

Connectez-vous avec votre compte et cliquez en haut à droite sur New Application. Trouvez un nom pour votre application, ne suivez pas mon exemple, un bot ne peut pas avoir Discord dans son nom.

Créer une application sur Discord

Récupérer le Bot Token

Nous allons dire à Discord que notre application est un Bot, pour cela allez dans l'onglet Bot et cliquez sur le bouton pour valider. Ici vous allez pouvoir configurer l'aspect visuel de votre bot, sa photo de profil, son nom, sa bio.

Vous devriez voir un bouton View Token, il s'agit d'un clé secrète qui va permettre de prendre le contrôle de votre bot, ne la donnez à personne. Copiez ce Token, nous allons en avoir besoin pour la suite.

Configurez votre bot

Paramétrer le bot

Dans l'onglet Bot nous allons pouvoir définir les permissions de notre bot. Vous pouvez demander à ChatGPT, ou regarder dans la documentation à quoi correspond chaque élément de la liste. Pour des raisons de simplicité je vais lui donner les privilèges Administrator, mais je vous conseille fortement de ne lui donner que les permissions qui vous seront utiles.

Choisir les permissions du Bot

Créer un lien d'invitation pour le Bot

Rendez-vous dans Oauth2, ici nous allons créer un lien pour ajouter notre bot à notre serveur. N'oubliez pas de créer un serveur sur votre application Discord si vous n'en avez pas encore. Cochez bot et applications.commands. Ce dernier indique que nous voulons pouvoir utiliser les slash commands avec notre bot.

💡
Une slash command est une commande commençant par "/", tel que "/hello".

Vous pouvez ajouter d'autres fonctionnalités en fonction de vos besoins. Demandez à ChatGPT les fonctionnalités dont votre bot pourrait avoir besoin.

Ajouter les slash commands

Allez ensuite en bas de la page et copier le lien généré. Collez le dans votre navigateur et sélectionnez le serveur sur lequel ajouter votre bot puis validez.

Ajouter le bot à notre serveur

Votre bot fera son apparition sur votre serveur, mais sera hors-ligne.

Inscrivez-vous sur Degiro et investissez dans l'IA

Paramétrer l'environnement de dev sur Replit

Maintenant retournons sur Replit, notre environnement devrait être prêt. Nous allons ajouter notre Token dans notre environnement. Pour cela cliquez en bas à gauche sur Secrets, un onglet va s'ouvrir à droite de l'écran. Ajoutez un secret portant le nom de TOKEN (dans key), collez votre token dans value.

Configurer notre Bot Token

Votre environnement de travail Replit n'étant pas privé, tout le monde peut lire votre code, si nous écrivions notre Token directement dans notre code, n'importe qui pourrait controler notre bot. Nous utilisons alors la fonction Secrets pour le dissimuler.

Dans le code vous pouvez voir :

import os
client.run(os.getenv("TOKEN"))

import os va permettre d'interagir avec les éléments se trouvant dans secrets, et plus précisément celui portant le nom de TOKEN.

Démarrer notre bot

Maintenant que tout est configuré, nous allons pouvoir cliquer sur Play en haut de l'écran. Une fois que vous voyez We have logged in as... apparaître dans la console, votre bot est en ligne sur votre serveur !

⚠️
Si vous obtenez une erreur, copier et coller la dans ChatGPT, et demandez lui une solution. Il devrait vous aider à la résoudre.
Démarrage du bot

Si vous avez dupliqué le même environnement Replit que le notre, votre bot devrait être très basique, nous pouvons voir dans le code qu'il se contente de répondre Hello! aux messages qui commencent par $hello.

if message.content.startswith('$hello'):
await message.channel.send('Hello!')

Nous pouvons tester son fonctionnement en écrivant $hello sur notre serveur. Si il ne vous répond pas, accédez aux réglages de votre serveur et vérifier les permissions du rôle de votre Bot.

⚠️
Il se peut aussi que l'environnement Replit que vous ayez cloné soit différent du notre. Ne vous inquiétez pas cela n'a pas d'importance pour la suite, car nous allons complètement modifier son code.
Notre bot est vivant !

ChatGPT entre en jeu

Jusqu'a présent, nous n'avons pas vraiment eu besoin de ChatGPT. Même si vous pouviez lui demander : Bonjour je souhaite créer un bot discord en python avec replit, peux-tu me donner les étapes à suivre ainsi que du code de base. Il vous aurait alors donné des consignes similaires aux miennes.

Expliquer à ChatGPT notre projet

Commençons par expliquer à ChatGPT la situation actuelle, puis ajoutons notre demande à la fin.

Bonjour, je souhaite créer un bot Discord en Python, en utilisant Replit. J'ai déjà configuré le bot sur le Discord Developer Portal, je l'ai aussi ajouté sur mon propre serveur, et j'ai fork un projet replit contenant déjà un code de base pour le bot. Je souhaite créer une slash command /btc qui me donnera le prix actuel du Bitcoin en dollar. Voici mon code actuel : [collez votre code venant de Replit]

Adaptez ce prompt à votre besoin. Dans mon cas je souhaite voir le prix du BTC en écrivant /btc dans le serveur. Voici des idées de bots Discord à créer :

  1. Bot de sondage : Un bot qui permet de créer et gérer des sondages pour recueillir l'opinion des membres du serveur sur divers sujets.
  2. Bot de rappels : Un bot qui envoie des rappels programmés aux utilisateurs pour les événements, les tâches ou les rendez-vous.
  3. Bot de citations inspirantes : Un bot qui envoie des citations inspirantes ou humoristiques aux membres du serveur, soit à intervalles réguliers, soit sur demande.
  4. Bot de jeux-questionnaires : Un bot qui organise des quiz interactifs sur différents thèmes pour divertir les membres du serveur et encourager la participation.
  5. Bot de gestion de la musique : Un bot qui permet aux membres du serveur de rechercher et de jouer des musiques ou des playlists à partir de plateformes populaires comme YouTube ou Spotify dans les salons vocaux.
Faites votre demande à ChatGPT

Demander des précisions à ChatGPT

ChatGPT devrait ensuite vous dire comment procéder pour modifier le code. Il nous demande d'ajouter des bibliothèques dans requirements.txt mais si vous ne savez pas comment faire, nous pouvons lui demander une autre façon de procéder. Sur Replit nous pouvons ouvrir le Shell en cliquant en bas à gauche. Nous allons alors l'utiliser pour installer les bibliothèques. Demandons à ChatGPT comment faire :

J'ai accès au shell sur Replit, peux-tu me donner les commandes à entrer pour ajouter les bibliothèques plutôt que de les écrire dans requirements.txt ?

ChatGPT nous donne les commandes à utiliser

Installer les bibliothèques

Dans un premier temps, arrêtez votre bot en cliquant sur stop en haut de Replit. Il ne nous reste plus qu'à coller ce que ChatGPT nous a donné, dans le Shell. Attendez la fin du chargement, et cliquez à nouveau sur Play pour démarrer le bot.

Installer les bibliothèques

Debug le code

Nous obtenons une erreur dans la console. Nous allons la copier et demander une solution à ChatGPT.

Erreur dans la console

Pour cela on demande simplement :

J'ai cette erreur dans la console en voulant lancer le bot : [insérer erreur]

Expliquer l'erreur à ChatGPT

Fournir les documentations à ChatGPT

Il semblerait que l'erreur vient du fait que ChatGPT possède une base de données trop vieille, et n'a pas connaissance des dernières documentations. Pour cela c'est très simple, nous allons chercher la documentation. J'ai cherché sur internet documentation discord bot python slash command. Mon erreur provenant de ce module exactement.

Documentation pour les bots discord python

Nous allons faire un CTRL+A, puis CTRL+C pour copier le contenu de la page. Et nous allons fournir à ChatGPT ces informations.

Voici la dernière documentation venant de interactions.py 4.4.0 : [coller le texte]

Donner la documentation à ChatGPT

ChatGPT va pouvoir lire la documentation et comprendre son erreur.

ChatGPT nous propose alors une solution

Corriger le code

Maintenant nous pouvons utiliser les dernières instructions que ChatGPT nous a données. Il nous suffit de copier/coller sur replit, puis de cliquer sur Play. Si vous obtenez une erreur, donnez la à ChatGPT et demandez-lui une solution. Si tout se passe bien votre bot devrait fonctionner et être en ligne sur votre serveur.

Utiliser le bot

Nous pouvons maintenant utiliser notre bot, commencez par écrire / dans le chat de votre serveur, et la commande que vous avez configurée devrait apparaître. Utilisez là et observez le résultat.

Liste de slash commands

Notre bot fonctionne bien ! Si ce n'est pas votre cas, décrivez simplement la situation à ChatGPT comme ceci :

[Résumer en une phrase ce qui ne va pas]. 
[Éxpliquer ce que vous vouliez]. 
[Donner un exemple si vous en connaissez un].
Le bot fonctionne

Ajouter des fonctionnalités au bot

Si vous souhaitez ajouter des fonctionnalités à votre bot, copier entièrement votre code sur Replit, et formulez votre demande :

Je souhaite ajouter une commande à mon bot Discord.
En faisant /eth je veux afficher le prix de l'Ethereum en dollar.
Voici mon code actuel :
[coller votre code]

ChatGPT va alors modifier votre code et vous donner la nouvelle version.

Conclusion

Vous savez désormais comment créer votre propre bot Discord, simplement avec ChatGPT et Replit. Vous pouvez lui ajouter les fonctionnalités de votre choix. N'oubliez pas que dans la version gratuite de Replit, votre bot finira par se mettre en pause après quelques heures. Si vous souhaitez que votre bot reste actif vous devrez songer à passer à une offre payante, ou bien utiliser des astuces pour le garder en vie.