-
Installer Node.js.
-
Créer une application en se connectant à l'espace Developers sur le site de Discord. Choisir un nom, une image et éventuellement une description.
-
Dans l'onglet Bot, ajouter un bot à l'application.
-
Obtenir le lien d'invitation du bot présenté sous cette forme :
https://discordapp.com/oauth2/authorize?client_id=<CLIENT_ID>&scope=bot&permissions=<PERMISSIONS>
avec
<CLIENT_ID>
: le numéro trouvable sur la page générale de l'application.<PERMISSIONS>
: le numéro obtenu en bas de la page dans l'onglet Bot en sélectionnant les permissions souhaitées.
Suivre ce lien et ajouter le bot à l'un de ses serveurs.
-
Créer un dossier où enregistrer le bot.
-
Ouvrir la console Node.js command prompt, se rendre dans le dossier précédemment créer, et installer
discord.js
:
> cd C:\<chemin_vers_le_dossier>\tuto-bot-discord\
> npm install discord.js
- Créer un fichier
bot.js
et copier dedans le code ci-dessous :
const Discord = require('discord.js');
const client = new Discord.Client();
client.login('TOKEN');
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', message => {
if (message.content === "!ping") {
message.channel.send("pong");
}
});
- Remplacer TOKEN dans le code ci-dessus par le token trouvable dans l'onglet Bot sur la page Discord de l'application.
ATTENTION : Ce numéro doit rester confidentiel.
- Lancer le bot en tapant dans la console :
> node bot.js
Si tout s'est bien passé, il devrait apparaître Logged in dans la console, et le bot devrait être connecté sur Discord. Essayer d'envoyer !ping, le bot devrait répondre pong. Le bot est maintenant configuré. 👏
- Pour aller plus loin : La documentation et le guide de discord.js.
⚠ La solution que je propose utilise l'hébergeur Heroku, c'est ce que je connais de plus abordable, mais il existe d'autres méthodes !
- Toujours dans le même dossier, créer un fichier
package.json
et copier dedans le contenu suivant :
{
"name": "Nom du bot",
"description": "Description du bot",
"version": "1.0.0",
"main": "bot.js",
"scripts": {
"test": "node bot.js"
},
"dependencies": {
"discord.js": "^11.5.1"
}
}
Remplacer éventuellement le numéro de version de discord.js par celui de la version utilisée (trouvable dans package-lock.json
).
-
Créer un autre fichier nommé
Procfile
avec uniquement la ligneworker: node bot.js
à l'intérieur. -
Remplacer le token du bot dans le code par
process.env.TOKEN
. La ligne ressemblera donc à ça :
const token = client.login(process.env.TOKEN);
-
Sauvegarder son code sur GitHub. Ne pas sauvegarder le dossier
node_modules/
, et dans le cas d'un dépôt public, faire attention que le token n'apparaisse sur aucun fichier car il doit rester confidentiel. -
Créer un compte sur Heroku.
-
Sur Heroku, créer une nouvelle app.
-
Aller dans l'onglet Deploy et connecter son dépôt GitHub.
-
En dessous, cliquer sur Enable Automatic Deploys.
-
Encore en dessous, cliquer sur Deploy Branch. Vérifier que le build réussisse.
-
Aller dans l'onglet Settings, cliquer sur Reveal Config Vars, saisir "TOKEN" dans la case
KEY
et le token du bot dans la caseVALUE
. Valider en cliquant sur Add. -
Aller dans l'onglet Ressources, cliquer sur le crayon pour désactiver Web et activer Worker.
-
(Optionnel) Pour lire de la musique avec le bot, il faut ajouter un buildpack FFmpeg dans l'onglet Settings sur Heroku.
Le bot est maintenant hébergé en ligne, il est accessible depuis n'importe où et à n'importe quel moment ! 🌍🤖💬