Héberger un bot Discord Node.js avec discord.js v14
Projet npm, intents, token, démarrage : la marche à suivre pour mettre un bot discord.js v14 en ligne, pas à pas.
Un bot discord.js v14 est un projet Node.js classique : un package.json, un fichier d’entrée et quelques dépendances. Les étapes utiles sont toujours les mêmes : créer le projet, déclarer les intents, lire le token dans l’environnement, puis vérifier le démarrage avant de confier le bot au serveur.
- discord.js v14 fonctionne avec Node.js 18 ou plus récent, et se déclare avec ses intents.
- Le token se lit dans les variables d’environnement, jamais dans index.js.
- Used disallowed intents et l’erreur 4014 viennent du même réglage : un intent privilégié désactivé dans le portail.
Créer le projet
discord.js v14 fonctionne avec Node.js 18 ou plus récent. Le projet se compose d’un package.json, qui liste les dépendances, et d’un fichier d’entrée, index.js.
- npm init -y : crée le package.json avec les valeurs par défaut.
- npm install discord.js : ajoute discord.js v14 aux dépendances.
- Dans la section scripts de package.json, ajoutez "start": "node index.js" pour lancer le bot avec npm start.
Écrire le client
Le client doit déclarer les intents dont il a besoin. Un intent absent du code ne reçoit aucun événement, et un intent privilégié non activé dans le portail fait refuser la connexion.
- GatewayIntentBits.Guilds et GatewayIntentBits.GuildMessages : les événements des serveurs et des messages.
- GatewayIntentBits.MessageContent : intent privilégié, à activer dans le portail développeur pour lire le texte des messages.
- client.login(process.env.DISCORD_TOKEN) : le token vient de l’environnement, jamais du code.
Démarrer et vérifier
Testez le bot en local avant l’envoi. Un bot connecté doit afficher la confirmation que vous avez prévue dans son événement de démarrage.
- npm install : installe les dépendances listées dans package.json.
- npm start : lance le bot avec le script start.
- Si la console affiche Used disallowed intents, un intent privilégié est désactivé dans le portail : activez-le, puis relancez le bot.
Pourquoi choisir ACLClouds pour un bot discord.js
L’offre gratuite inclut 1 bot, 315 Mo de RAM et 715 Mo de stockage. Node.js, ffmpeg, yt-dlp et deno sont déjà présents dans l’image Node.js, et les fichiers se déposent en SFTP.
- Offre gratuite : 1 bot, 315 Mo de RAM, 0,25 vCPU, 715 Mo de stockage, envoi jusqu’à 100 Mo.
- Image Node.js : ffmpeg, yt-dlp et deno déjà installés.
- Accès SFTP par bot sur le port 2222, avec les identifiants de la carte « Accès SFTP ».
Questions fréquentes
Quelle version de Node.js choisir ?
Pour un nouveau projet discord.js v14, visez Node.js 18 ou plus récent, encore maintenu. Les versions anciennes finissent par poser des problèmes de sécurité.
Faut-il envoyer le dossier node_modules ?
Non. Il est lourd, et le stockage gratuit fait 715 Mo. Envoyez package.json et package-lock.json, puis laissez l’installation recréer le dossier.
Pourquoi le bot affiche-t-il Used disallowed intents ?
Le code demande un intent privilégié, comme MessageContent, qui n’est pas activé dans le portail développeur Discord. Activez-le, puis relancez le bot.