Intermédiaire ⏱ 12 min Mis à jour le 29 juillet 2026

Faire tourner un bot Discord en Node.js ou Python

discord.js ou discord.py ? Voici comment structurer, installer et lancer votre bot Discord dans les deux langages les plus courants, proprement et sans exposer votre token.

Node.js ou Python : lequel choisir ?

Un bot Discord Node.js utilise généralement la bibliothèque discord.js, tandis qu’un bot Python repose souvent sur discord.py. Les deux solutions permettent de créer des commandes, répondre aux messages, gérer des rôles ou automatiser une communauté.

Votre choix dépend surtout du langage que vous maîtrisez et des autres outils utilisés dans votre projet.

CritèreNode.js avec discord.jsPython avec discord.py
LangageJavaScript ou TypeScriptPython
Installation des dépendancesnpmpip
Environnement isoléDossier node_modulesEnvironnement virtuel venv
Point fortÉcosystème JavaScript très completSyntaxe accessible et lisible
Adapté àBots, API web, tableaux de bordBots, automatisations, traitements de données
Fichier principal courantindex.jsbot.py

Node.js constitue un choix logique si vous développez déjà des sites, API ou applications JavaScript. Python convient particulièrement bien aux débutants et aux projets liés à l’automatisation.

Les deux bibliothèques fonctionnent de manière asynchrone : votre bot peut attendre les événements Discord sans bloquer les autres actions.

Avant de commencer, vous devez avoir créé votre application, ajouté son compte bot et récupéré son token. Consultez le guide pour créer un bot Discord et obtenir son token si cette étape n’est pas terminée.

Structurer un projet de bot Discord

Créez un dossier réservé au projet. Il contiendra le code, la liste des dépendances et les variables d’environnement.

Pour un bot Node.js :

mon-bot-discord/
├── index.js
├── package.json
├── package-lock.json
├── .env
└── .gitignore

Pour un bot Python :

mon-bot-discord/
├── bot.py
├── requirements.txt
├── .env
├── .gitignore
└── .venv/

Le fichier .env contient le token du bot :

DISCORD_TOKEN=VOTRE_TOKEN_DISCORD

Le fichier .gitignore empêche l’envoi des secrets et fichiers locaux dans un dépôt Git :

.env
node_modules/
.venv/
__pycache__/

Vous pouvez également créer un fichier .env.example, sans véritable token, pour documenter les variables nécessaires :

DISCORD_TOKEN=

Le fichier .env.example peut être partagé. Le fichier .env réel doit rester privé.

Faire tourner un bot Discord Node.js avec discord.js

Installez d’abord Node.js sur votre ordinateur ou votre serveur. Ouvrez ensuite un terminal dans le dossier du projet.

Initialisez le projet :

npm init -y

Installez discord.js et dotenv :

npm install discord.js dotenv

discord.js assure la communication avec Discord. dotenv charge les variables enregistrées dans le fichier .env.

Créez ensuite index.js :

require("dotenv").config();

const {
  Client,
  Events,
  GatewayIntentBits,
} = require("discord.js");

const token = process.env.DISCORD_TOKEN;

if (!token) {
  throw new Error("La variable DISCORD_TOKEN est absente.");
}

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
  ],
});

client.once(Events.ClientReady, (readyClient) => {
  console.log(`Bot connecté : ${readyClient.user.tag}`);
});

client.on(Events.MessageCreate, async (message) => {
  if (message.author.bot) {
    return;
  }

  if (message.content.toLowerCase() === "!ping") {
    await message.reply("Pong !");
  }
});

client.login(token);

Ce bot :

  • se connecte à Discord ;
  • affiche son nom dans la console ;
  • ignore les messages envoyés par les bots ;
  • répond Pong ! lorsqu’un membre écrit !ping.

Lancez-le avec :

node index.js

La console doit afficher un message proche de :

Bot connecté : MonBot#0000

Comme cet exemple lit le contenu des messages, vous devez activer le Message Content Intent dans la rubrique Bot du Discord Developer Portal.

Pour arrêter le programme dans votre terminal :

Ctrl + C

Faire tourner un bot Discord en Python avec discord.py

Créez un environnement virtuel afin d’isoler les bibliothèques du projet.

Sous Windows :

py -m venv .venv
.venv\Scripts\activate

Sous Linux ou macOS :

python3 -m venv .venv
source .venv/bin/activate

Installez ensuite discord.py et python-dotenv :

python -m pip install -U discord.py python-dotenv

Vous pouvez enregistrer les dépendances dans un fichier :

python -m pip freeze > requirements.txt

Créez maintenant bot.py :

import os

import discord
from dotenv import load_dotenv

load_dotenv()

token = os.getenv("DISCORD_TOKEN")

if not token:
    raise RuntimeError("La variable DISCORD_TOKEN est absente.")

intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)


@client.event
async def on_ready() -> None:
    print(f"Bot connecté : {client.user}")


@client.event
async def on_message(message: discord.Message) -> None:
    if message.author.bot:
        return

    if message.content.lower() == "!ping":
        await message.reply("Pong !")


client.run(token)

Ne nommez pas votre fichier discord.py. Python pourrait tenter d’importer votre fichier local à la place de la bibliothèque officielle.

Lancez le bot sous Windows avec :

py bot.py

Ou, lorsque l’environnement virtuel est actif :

python bot.py

Sous Linux ou macOS :

python3 bot.py

Comme dans l’exemple Node.js, activez le Message Content Intent dans le portail développeur Discord.

Pour quitter l’environnement virtuel après vos tests :

deactivate

Ne jamais mettre le token en dur

Le token donne à votre programme l’autorisation de se connecter comme votre bot. Une personne qui le récupère peut tenter d’en prendre le contrôle.

Évitez donc cette écriture :

client.login("VOTRE_VRAI_TOKEN");

Évitez également :

client.run("VOTRE_VRAI_TOKEN")

Le token doit être chargé depuis l’environnement :

const token = process.env.DISCORD_TOKEN;

Ou en Python :

token = os.getenv("DISCORD_TOKEN")

Avant chaque publication Git, vérifiez que .env est bien ignoré :

git status

Le fichier .env ne doit pas apparaître parmi les fichiers prêts à être ajoutés.

Ne partagez jamais le token dans :

  • un dépôt GitHub public ;
  • une capture d’écran ;
  • un message Discord ;
  • un tutoriel ;
  • une archive envoyée à un tiers ;
  • un ticket de support non sécurisé.

Si le token a été exposé, régénérez-le immédiatement depuis le Discord Developer Portal. Remplacez ensuite la valeur sur votre hébergement et redémarrez le bot.

Garder le bot en ligne 24 h/24

Lorsqu’il fonctionne sur votre ordinateur, le bot s’arrête dès que vous fermez le terminal, éteignez la machine ou perdez la connexion.

Pour assurer un fonctionnement continu, déployez-le sur un hébergement prévu pour les bots Discord ou sur un VPS Linux.

Sur un VPS, vous devrez généralement :

  1. vous connecter en SSH ;
  2. installer Node.js ou Python ;
  3. transférer le projet ;
  4. créer la variable DISCORD_TOKEN ;
  5. installer les dépendances ;
  6. utiliser PM2 ou systemd pour maintenir le processus actif ;
  7. consulter régulièrement les logs.

Le guide pour se connecter à un VPS en SSH présente la première étape. Pour la mise en production complète, consultez héberger un bot Discord 24 h/24 et 7 j/7.

Des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.

En résumé

  • Un bot Discord Node.js utilise généralement discord.js.
  • Un bot Python Discord peut être développé avec discord.py.
  • Choisissez surtout le langage que vous maîtrisez et qui correspond à votre projet.
  • Installez discord.js et dotenv avec npm pour Node.js.
  • Utilisez un environnement virtuel et installez discord.py avec pip pour Python.
  • Chargez toujours le token depuis process.env ou os.environ.
  • Placez le token dans .env et ajoutez ce fichier à .gitignore.
  • Ne publiez jamais le token dans un dépôt, une capture ou un message.
  • Activez le Message Content Intent si le bot doit lire une commande comme !ping.
  • Lancez le bot avec node index.js ou python bot.py.
  • Utilisez un hébergement permanent pour éviter que le bot s’arrête avec votre ordinateur.
  • Pour faire tourner un bot Discord Node.js ou Python en continu avec un panel de gestion et un support francophone, découvrez l’offre hébergement bot Discord TalCloud.