Une tentative de bot Discrod hebergée sur heroku.
Cette marche à suivre tente de lister les étapes minimum pour pouvoir
- Lancer le bot/script localement sur sa machine et le tester dans un serveur Discord ;
- Héberger le bot sur heroku.com, afin qu'il soit disponible 24/24.
Afin de mener a bien les opérations suivantes, il est nécessaire d'avoir :
De plus, afin de pouvoir modifier et tester le script, il est nécessaire d'installer les programmes suivants sur sa machine :
Optionellement, vous pouvez aussi installer l'application Discord, un client Git, comme GitKraken, ainsi que le heroku-cli.
- Visiter https://github.com/theophile06/dbot et cliquer "Fork", pour "forker" le repository dans votre compte GitHub.
- Cloner ensuite le fork nouvellement créé sur votre ordinateur, avec
git clone https://github.com/XXXXX/dbot.git
, ouXXXXXX
est votre nom d'utilisateur. - Ouvrir le dossier cloné dans le terminal, et taper
npm install
pour installer les dépendances. - Avec un éditeur de texte, dupliquer le fichier
secrets.js.sample
et le renommersecrets.js
- Il s'agit maintenant d'obtenir un secret (appellé BOT_TOKEN) de la part de discord permettant d'authoriser le BOT.
-
Aller sur Discord Applications
-
Cliquer sur "New Application" et choisir un nom
-
Sur la page de l'application, copier
- CLIENT ID
- CLIENT SECRET
Et remplacer les variables adéquates dans le fichier
secrets.js
- Sur la page de l'application, se rendre dans le menu "Bot" à gauche, puis cliquer sur "Add Bot"
- Copier le BOT_TOKEN et le remplacer dans le fichier
secrets.js
- Cliquer le menu OAuth2:
- Dans le tableau SCOPES, ajouter "Bot"
- Dans le tableau "BOT PERMISSION", ajouter les "PERMISSIONS TEXTUELLES" utiles
- Copier ensuite l'URL de la forme
https://discodapp.com/api/oauth2/authorize?client_id=11223344556677&permissions=449600&scope=bot
(ou générer ce lien) et l'ouvrir dans un navigateur - Ceci permet d'ajouter un bot à un serveur; sélectionner un serveur (plutôt de test pour le moment) et octroyez les permissions nécessaires (normalement déjà définie à l'étape précédente). Si vous n'en n'avez pas il faut en créer un depuis l'application (Exemple) et rafraîchir la page pour le voir...
- Autoriser le bot.
- Le bot à normalement rejoint un chat sur discord et vous êtes notifié.
- Maintenant que le bot est présent dans un chat discord, vous pouvez lancer le serveur du bot avec la commande
npm start
depuis un terminal. - A ce point la, le bot devrait répondre aux messages dans le channel. Essayaez par exemple d'écrire
^^ping
... le bot devrait répondre pong !
- il faut avoir un compte heroku
- créer une nouvelle app, en lui donnant un nom et une région (p.ex. Europe)
- dans la section "deployement methods" (ou depuis l'onglet "Deploy"), choisir GitHub. Autoriser Heroku et continuer.
- Dans la section "Connect to GitHub", rechercher le nom du repository (par exemple dbot) et le connecter.
- Cliquer sur "Enable Automatic Deploys"
- Le but est d'avoir un déploiement automatique pour tout nouveaux commits sur ce repo: "Automatically deploys from master"
- Au débuts, il est possible de forcer le déploiement manuellement en cliquant sur "Deploy Branch"
- Il faut maintenant définir la "Config Vars" du BOT_TOKEN. Se rendre dans l'onglet "Settings" et "Reveal config vars" pour créer la variable suivante :
- Nom :
BOT_TOKEN
- Valeur :
CECI.EST.UN.TOKEN.TRES.TRES.TRES.TRES.LONG
(Comme dans les secrets)
- sous "Resources", s'assurer que le
worker
est activé. Si c'estweb
, le bot va planter en 60 secondes car heroku s'attend a avoir un "port" ouvert. - une fois déployé (vous pouvez suivre les logs du déploiement), on peut voir les logs (e.g. console.log()) de l'app sur https://dashboard.heroku.com/apps/VotreAPP/logs
- comme pour la partie locale, si le bot est "online" et répond sur le canal, c'est gagné !
- Note que par défaut, le Bot est déployé dans un "dyno" web. Depuis l'onglet "Overview", cliquer sur configure dyno, désactiver le dyno "web" et activer le dyno "worker" (TODO: comprendre comment le faire par défaut...)
[DEPRECATED]
- créer un dépôt sur github.com
- le clone sur son ordinateur, avec
git clone https://github.com/theophile06/dbot.git
- taper
npm init
pour créer le projet node.js - ajouter la librairie discord.js en tappant
npm install discord.js --save
- créer le fichier index.js
- se rendre sur Discord Applications
- créer une nouvelle application
- copier son secret (CLIENT SECRET) et son ID (CLIENT ID)
- aller sous bot et ajouter un bot
- copier son token (TOKEN)
- cliquer sur oAuth
- cliquer sur "bot"
- définir les permissions
- copier le lien et l'ouvrir dans un navigateur
- ceci devrait permettre d'ajouter le bot à un serveur/room
- copier le fichier secrets.js.sample dans secrets.js. Attention, ce fichier ne doit pas être partagé et les secrets qu'il contient doivent rester privés !
- dans un terminal, lancer le bot:
node index.js
ounpm start
- aller dans le salon discord, et tapper "ping"; si le bot répond "Pong!" c'est gagné :)