Comment intégrer DALL-E 2 dans un bot Discord pour avoir son propre bot de génération d'images

Dans cet article, nous allons vous guider pas à pas pour créer un bot Discord innovant, en intégrant la puissance de DALL-E d'OpenAI grâce à leur API. Ce chatbot unique en son genre sera capable de comprendre et de générer des images pertinentes en réponse aux requêtes des utilisateurs, ouvrant ainsi de nouvelles possibilités d'interaction et de créativité au sein de votre communauté. Préparez-vous à découvrir comment transformer votre expérience Discord grâce à l'intelligence artificielle et à l'imagerie générative.

Les pré-requis

Notez que vous aurez besoin d'une clé API de OpenAI, et de quelques crédits dans votre compte. Le coût d'une requête est de 0,2 cent pour ~4000 caractères de texte. Vous pouvez obtenir des crédits d'une valeur de 18 $ lorsque vous vous inscrivez et ceux-ci devraient durer un certain temps, mais il n'y a actuellement pas de version entièrement gratuite de l'API.

Allez sur OpenAI et cliquez sur 'Créer une nouvelle clé secrète' pour en avoir une. Attention la clé ne pourra pas être affichée une deuxième fois.

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

Cliquez sur le bouton ci-dessous et clonez (fork) le code pour pouvoir le modifier de votre côté. C'est un Bot Discord en JavaScript, permettant d'interagir avec l'API d'OpenAI.

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.

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 devoir 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.

Nous avons aussi besoin d'ajouter notre clé API venant d'OpenAI, toujours dans Secrets, ajoutez API_KEY et collez votre clé dans value.

Il faudra aussi préciser dans quel canal notre bot devra lire les messages. Notre bot va répondre à la totalité des messages se trouvant dans le canal (sauf ceux commençant par "!"), il est préférable d'en créer un uniquement pour lui. Ouvrez les options de Discord et allez dans Avancés, cochez le Mode développeur afin de pouvoir trouver l'ID d'un canal. Pour obtenir l'ID, faites un clic-droit sur le canal voulu, et tout en bas cliquez sur Copier l'identifiant. Maintenant sur Replit, toujours dans Secrets, créer CHANNEL_ID et collez l'ID dans value.

Vous devez avoir ces 3 éléments dans secrets :

  • TOKEN
  • API_KEY
  • CHANNEL_ID

Choisir le modèle

Notre bot, en plus des fonctionnalités de DALL-E, intègre aussi les fonctionnalités de ChatGPT, si vous souhaitez désactiver ChatGPT, vers la ligne 12, remplacez truepar falseet ChatGPT sera désactivé, vous pouvez ignorez ces étapes et aller à la configuration de DALL-E directement.

Pour plus d'infos sur le bot ChatGPT :

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…

Si vous avez accès à l'API de GPT-4, vous aurez la possibilité d'utiliser la commande /gpt4 dans le canal discord de votre bot. Si ce n'est pas le cas, ou si vous ne savez pas, vous allez devoir utiliser gpt-3.5-turbo. C'est la configuration de base du chatBot, mais vous pouvez aussi la forcer avec la commande /gpt3.

Personnaliser le ChatBot

Vers la ligne 110 du code, vous devriez voir :

  let conversationLog = [{ role: 'system', content: 'You are DecryptGPT, my personnal assistant. You will answer all my questions and help me on my tasks, by providing me code or whatever.' }];

Ce texte va indiquer à ChatGPT comment se comporter. Modifiez ce qui se trouve dans content: '' comme vous le souhaitez.

Ajouter une limite

Si vous souhaitez brider votre bot afin de ne pas trop dépenser de token sur l'API, vous pouvez lui mettre une limite de token par requête. Si il dépasse cette limite il ne vous répondra pas. Allez vers la ligne 130 :

const result = await openai
      .createChatCompletion({
        model: 'gpt-4',
        messages: conversationLog,
        // max_tokens: 256, // limit token usage
      })
      .catch((error) => {
        console.log(`OPENAI ERR: ${error}`);
      });

Retirez les "//" avant max_tokens, et modifiez la valeur par celle de votre choix. 256 étant assez faible, vous pouvez essayer 512.

const result = await openai
      .createChatCompletion({
        model: 'gpt-4',
        messages: conversationLog,
        max_tokens: 512, // limit token usage
      })
      .catch((error) => {
        console.log(`OPENAI ERR: ${error}`);
      });

Installer les dépendances

En bas à gaucher cliquez sur shell et écrivez npm installdans la fenêtre, puis attendez la fin du chargement.

Configuration de DALL-E

DALL-E nous permet de faire quelques réglages, vers la ligne 180, n: 4; indique la quantité d'image que DALL-E va générer, il faut choisir un chiffre entre 1 et 4. Ensuite size: 256x256; va définir la taille des images. Choisissez entre 256, 512, et 1024. Gardez à l'esprit que chaque génération va vous coûter des tokens, plus il y a d'images, et plus elles sont grandes, plus vous utiliserez de tokens.

Comment utiliser le bot

Lancer le bot sur Replit

Cliquez sur play en haut de Replit. Vous devriez voir une fenêtre avec Bot is alive! s'ouvrir, ainsi que The bot is online! dans la console. Si vous avez une erreur, copiez la, et collez là à ChatGPT en lui fournissant aussi la totalité de votre code, il vous aidera à résoudre le problème.

Le bot est en ligne

Parler avec le bot sur Discord

Votre bot est désormais en ligne, vous pouvez parler avec lui dans le canal présent dans Secrets. Utilisez la commande /generate et écrivez votre prompt.

la commande /generate

Si vous n'avez pas d'inspiration :

Liste de prompts pour ChatGPT, MidJourney, DALL-E ou autre Intelligence Artificielle (IA)
La liste complète des prompts pour IA (Intelligence Artificielle) Répertoire de prompts IA, générative, chatBot, copywriting, chatGPT, MidJourney
photo of 8k ultra realistic lighthouse on island, heavy rain, night, light shining, heavy seas, full of colour, cinematic lighting, battered, trending on artstation, 4k, hyperrealistic, focused, extreme details,unreal engine 5, cinematic, masterpiece, art by studio ghibli

Comment demandez des variations

DALL-E permet de créer des variations d'une même image, pour cela, faites un clique droit sur l'image que DALL-E vous a envoyé. Et copier son lien. Faites /variation et collez le lien. Si vous appuyez sur tab vous pouvez choisir la quantité de variations que DALL-E va générer. Entre 1 et 4. Si vous ne précisez rien, il fera 1 variante par défaut.

la commande /variation
Notre variante du phare

Si DALL-E ne répond plus

  • Vérifiez que le bot est toujours en ligne, si vous avez la version gratuite de Replit, le bot finira par se mettre en veille. Il faudra alors le relancer.
  • Vérifiez la console de replit, si il y a une erreur, elle sera affichée ici. Collez là dans ChatGPT avec votre code.
  • Vérifiez les droits de votre bot, il doit avoir le droit d'écrire et de lire les messages.
  • Vérifiez votre quota API sur le site d'OpenAI, vous avez peut-être utilisé la totalité de vos tokens.

Conclusion

En conclusion, l'intégration de DALL-E d'OpenAI dans un bot Discord via leur API ouvre un monde d'opportunités pour enrichir et dynamiser les interactions au sein de votre communauté. Grâce à ce tutoriel, vous avez désormais les compétences nécessaires pour créer un chatbot capable de générer des images pertinentes en fonction des requêtes des utilisateurs. N'hésitez pas à explorer davantage les possibilités offertes par l'IA et à partager vos réalisations avec votre communauté. L'avenir du divertissement et de la communication sur Discord s'annonce passionnant grâce à l'intelligence artificielle et à des outils innovants comme DALL-E.