💾 Tech - Créer un bot Discord avec GPT – Guide pour débutants
Objectif
Créer un bot Discord qui utilise l’intelligence artificielle GPT (comme ChatGPT) pour répondre automatiquement aux messages envoyés sur un serveur Discord.
Prérequis
Comptes nécessaires
- Compte Discord : https://discord.com/
- Compte OpenAI : https://platform.openai.com/signup
Programmes à installer
- Node.js (cliquer sur la version "LTS" pour la stabilité)
- Visual Studio Code (éditeur de code)
Étape 1 : Créer un bot dans le portail développeur Discord
- Aller sur https://discord.com/developers/applications
- Cliquer sur "New Application"
- Donner un nom à l’application, par exemple GPTBot
- Dans le menu de gauche, cliquer sur "Bot"
- Cliquer sur "Add Bot" puis confirmer
- Cliquer sur "Reset Token" et copier le token (Ã garder secret)
Étape 2 : Inviter le bot dans un serveur Discord
- Dans l’onglet OAuth2 > URL Generator
- Cochez dans "SCOPES" :
- bot
- applications.commands
- Cochez dans "Bot Permissions" :
- Send Messages
- Read Message History
- Copier le lien généré
- Ouvrir ce lien dans un navigateur et inviter le bot sur votre serveur
Étape 3 : Créer le projet du bot
1. Ouvrir Visual Studio Code
- Fichier > Ouvrir un dossier
- Créer un dossier nommé par exemple (mon-bot-discord)
2. Ouvrir un terminal dans VS Code
- Clique sur : Terminal > Nouveau terminal

- Tester le terminal en écrivant npm , pour savoir si ça s’exécute bien ou vous allez avoir un message d’erreur
3. Résolution du message d’erreur "npm"
Solution pour corriger l’erreur "Impossible de charger le fichier npm.ps1"
-
Ouvre PowerShell en mode administrateur
- Clique sur Démarrer
- Tape PowerShell
- Clic droit > Exécuter en tant qu’administrateur
-
Colle cette commande dans PowerShell :
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
→ Tape Y pour confirmer.
Cela autorise les scripts locaux (comme ceux de NVM/npm) à s’exécuter.
Tu peux aussi simplement utiliser cmd.exe au lieu de PowerShell pour lancer npm.
Pour revenir au comportement par défaut :
Set-ExecutionPolicy Restricted -Scope CurrentUser
4. Initialiser le projet Node.js et installer les dépendances
npm init -y
npm install discord.js openai dotenv
Étape 4 : Ajouter les fichiers nécessaires
1. Fichier .env
Créer un fichier .env à la racine du projet et y coller :
DISCORD_TOKEN=ton_token_discord
OPENAI_API_KEY=ta_clé_api_openai
- Remplace
ton_token_discordpar ton token Discord - Remplace
ta_clé_api_openaipar ta clé API OpenAI (disponible ici : https://platform.openai.com/account/api-keys)
2. Fichier index.js
Créer un fichier index.js avec le contenu suivant :
js
require(’dotenv’).config();
const { Client, GatewayIntentBits } = require(’discord.js’);
const { OpenAI } = require(’openai’);
const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent],
});
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
client.on(’ready’, () => {
console.log(`Bot connecté en tant que ${client.user.tag}`);
});
client.on(’messageCreate’, async (message) => {
if (message.author.bot) return;
if (message.content.startsWith(’!gpt’)) {
const prompt = message.content.replace(’!gpt’, ’’).trim();
if (!prompt) {
return message.reply(’Merci de poser une question après !gpt’);
}
try {
const response = await openai.chat.completions.create({
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: prompt }],
});
const reply = response.choices[0].message.content;
message.reply(reply);
} catch (error) {
console.error(error);
message.reply("Une erreur est survenue.");
}
}
});
client.login(process.env.DISCORD_TOKEN);
Étape 5 : Lancer le bot
Dans le terminal, taper :
bash
node index.js
Vous devriez voir :
Bot connecté en tant que GPTBot
Utilisation
Dans Discord, tapez une commande comme :
!gpt Quelle est la capitale de l’Italie ?
Le bot répondra automatiquement avec la réponse de l’intelligence artificielle.
Résumé des étapes
| Étape | Description |
|---|---|
| 1 | Créer l’application sur Discord Developer Portal |
| 2 | Ajouter un bot, récupérer son token |
| 3 | Inviter le bot dans un serveur Discord |
| 4 | Créer un projet Node.js avec Visual Studio Code |
| 5 | Ajouter les fichiers .env et index.js |
| 6 | Lancer le bot avec node index.js |
| 7 | Utiliser la commande !gpt dans Discord |
Sinon, python est sympa aussi pour faire un bot discord 😉
J'en ai codé un il y a quelques années maintenant pour un streamer D2R, je l'avais fait en python, ça m'a permis de me mettre au python. Très facile pour coder, par contre le fait que le code ne soit pas contenu dans des balises mais dépende de l'indentation, ça me dérange profondément.
Ceci étant, c'toujours moins pire que le javascript :D
