/dbot

Un bot ping-pong pour discord

Primary LanguageJavaScriptMIT LicenseMIT

dbot

Une tentative de bot Discrod hebergée sur heroku.

Marche à suivre "rapide"

Cette marche à suivre tente de lister les étapes minimum pour pouvoir

  1. Lancer le bot/script localement sur sa machine et le tester dans un serveur Discord ;
  2. Héberger le bot sur heroku.com, afin qu'il soit disponible 24/24.

Pré-Requis

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.

Étape 1. Cloner le dépôt de theophile06

  1. Visiter https://github.com/theophile06/dbot et cliquer "Fork", pour "forker" le repository dans votre compte GitHub.
  2. Cloner ensuite le fork nouvellement créé sur votre ordinateur, avec git clone https://github.com/XXXXX/dbot.git, ou XXXXXX est votre nom d'utilisateur.
  3. Ouvrir le dossier cloné dans le terminal, et taper npm install pour installer les dépendances.
  4. Avec un éditeur de texte, dupliquer le fichier secrets.js.sample et le renommer secrets.js
  5. 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
    1. CLIENT ID
    2. CLIENT SECRET Et remplacer les variables adéquates dans le fichier secrets.js
  1. Sur la page de l'application, se rendre dans le menu "Bot" à droite, puis cliquer sur "Add Bot"
  2. Copier le BOT_TOKEN et le remplacer dans le fichier secrets.js
  3. Cliquer le menu OAuth2:
  • Dans le tableau SCOPES, ajouter "Bot"
  • Dans le tableau "BOT PERMISSION", ajouter les "PERMISSIONS TEXTUELLES" utiles
  1. Copier ensuite l'URL de la forme https://discodapp.com/api/oauth2/authorize?client_id=11223344556677&permissions=449600&scope=bot (ou généré ce lien) et l'ouvrir dans un navigateur
  2. 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).
  3. Autoriser le bot.
  4. Le bot à normalement rejoint un chat sur discord et vous êtes notifié.
  5. Assurez-vous de relancer le serveur du bot avec la commande npm start
  6. 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 !

Étape 2. Héberger le bot sur heroku

  1. il faut avoir un compte heroku
  2. créer une nouvelle app, en lui donnant un nom et une région (p.ex. Europe)
  3. dans la section "deployement methods" (ou depuis l'onglet "Deploy"), choisir GitHub. Autoriser Heroku et continuer.
  4. Dans la section "Connect to GitHub", rechercher le nom du repository (par exemple dbot) et le connecter.
  5. Cliquer sur "Enable Automatic Deploys"
  6. Le but est d'avoir un déploiement automatique pour tout nouveaux commits sur ce repo: "Automatically deploys from master"
  7. Au débuts, il est possible de forcer le déploiement manuellement en cliquant sur "Deploy Branch"
  8. 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)
  1. sous "Resources", s'assurer que le worker est activé. Si c'est web, le bot va planter en 60 secondes car heroku s'attend a avoir un "port" ouvert.
  2. 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
  3. comme pour la partie locale, si le bot est "online" et répond sur le canal, c'est gagné !
  4. 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...)

Marche à suivre en partant de zéro

[DEPRECATED]

  1. créer un dépôt sur github.com
  2. le clone sur son ordinateur, avec git clone https://github.com/theophile06/dbot.git
  3. taper npm init pour créer le projet node.js
  4. ajouter la librairie discord.js en tappant npm install discord.js --save
  5. créer le fichier index.js
  6. 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
  1. 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 !
  2. dans un terminal, lancer le bot: node index.js ou npm start
  3. aller dans le salon discord, et tapper "ping"; si le bot répond "Pong!" c'est gagné :)