Offre de bienvenue : -15% sur tous les services 🚀
Tutoriel15 août 2026· 7 min

Comment créer un bot Discord avec Discord.js en 2026

Guide étape par étape pour créer votre premier bot Discord avec Discord.js v14 : commandes slash, déploiement et mise en ligne 24h/24.

Ce qu'on va construire

Un bot Discord basique qui répond à des commandes slash. On utilisera Discord.js v14 (la version actuelle en 2026) avec Node.js 20.

À la fin de ce guide, votre bot sera en ligne 24h/24 sur Hostlio — sans avoir besoin de laisser votre PC allumé.

Prérequis

  • Node.js 18 ou supérieur installé sur votre machine
  • Un compte Discord et accès au Discord Developer Portal
  • 15 minutes

Étape 1 — Créer l'application Discord

  1. Connectez-vous sur le Discord Developer Portal
  2. Cliquez sur New Application → donnez un nom à votre bot
  3. Dans le menu gauche, allez dans Bot → cliquez sur Add Bot
  4. Copiez le Token — gardez-le secret, ne le mettez jamais dans votre code

Dans OAuth2 → URL Generator :

  • Cochez bot et applications.commands
  • Dans les permissions bot, cochez au minimum Send Messages et Use Slash Commands
  • Copiez l'URL générée et ouvrez-la pour inviter le bot sur votre serveur

Étape 2 — Initialiser le projet

mkdir mon-bot && cd mon-bot
npm init -y
npm install discord.js

Créez un fichier .env à la racine :

DISCORD_TOKEN=votre_token_ici
CLIENT_ID=votre_client_id_ici

Le Client ID se trouve dans OAuth2 → General sur le Developer Portal.

Étape 3 — Enregistrer les commandes slash

Créez deploy-commands.js :

const { REST, Routes, SlashCommandBuilder } = require('discord.js');
require('dotenv').config();

const commands = [
  new SlashCommandBuilder()
    .setName('ping')
    .setDescription('Répond avec Pong !'),
  new SlashCommandBuilder()
    .setName('bonjour')
    .setDescription('Le bot vous salue'),
].map(cmd => cmd.toJSON());

const rest = new REST().setToken(process.env.DISCORD_TOKEN);

(async () => {
  console.log('Enregistrement des commandes...');
  await rest.put(
    Routes.applicationCommands(process.env.CLIENT_ID),
    { body: commands }
  );
  console.log('Commandes enregistrées.');
})();

Exécutez-le une seule fois :

node deploy-commands.js

Étape 4 — Le code principal

Créez index.js :

const { Client, GatewayIntentBits, Events } = require('discord.js');
require('dotenv').config();

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

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

client.on(Events.InteractionCreate, async interaction => {
  if (!interaction.isChatInputCommand()) return;

  if (interaction.commandName === 'ping') {
    await interaction.reply('Pong ! 🏓');
  }

  if (interaction.commandName === 'bonjour') {
    await interaction.reply(`Bonjour ${interaction.user.username} !`);
  }
});

client.login(process.env.DISCORD_TOKEN);

Testez en local :

node index.js

Étape 5 — Héberger le bot 24h/24

Votre bot fonctionne tant que votre terminal est ouvert. Dès que vous fermez votre PC, il se déconnecte.

Pour le garder en ligne en permanence, hébergez-le sur Hostlio :

  1. Créez un compte et commandez l'offre Starter gratuite
  2. Dans le gestionnaire de fichiers, uploadez index.js, package.json et .env
  3. Dans la console, exécutez npm install
  4. Cliquez sur Démarrer — votre bot est en ligne

Pensez à ajouter vos variables d'environnement (DISCORD_TOKEN, CLIENT_ID) dans l'onglet Variables d'environnement du panel plutôt que dans le fichier .env uploadé.

Pour aller plus loin

  • Ajoutez des commandes avec des options (addStringOption, addUserOption)
  • Stockez des données dans une base MongoDB ou SQLite
  • Utilisez des Embeds pour des messages plus riches visuellement
  • Découpez vos commandes en fichiers séparés avec le système de Handlers

Si vous hésitez encore sur le langage à choisir, consultez notre comparatif Discord.js vs Discord.py.