Bot Kaamelott pour Discord hébergé sur votre Raspberry avec lancement automatique.

Publié par Edmondio le

Comme vous l’avez surement remarqué, j’aime la série Kaamelott, et avec un ami nous avons lancé notre serveur discord pour pouvoir nous retrouver lors de nos sessions de jeux et je me suis dit pourquoi ne pas mettre en place quelque chose qui nous enverrait des répliques de la série directement de notre salon vocal.

La grande force de discord repose dans sa gratuité, mais aussi dans la possibilité de mettre en place des bots . Le but des bots est d’apporter  une interactivité avec votre serveur, de modérer votre serveur bref les bots peuvent faire n’importe quoi du moment que vous l’avez programmer.

Je me suis donc mis à la recherche d’un bot (n’ayant aucune expérience en programmation pour en créer un par moi-même) et je suis tombé sur un projet GitHub fait par l’utilisateur LeoPenaguin.

Alors je ne vais pas rentrer dans le détail concernant la programmation, le dev l’explique très bien sur son site web : https://codebear.info/2019/07/25/un-bot-kaamelott-pour-discord-en-javascript/ je vais plus vous expliquez la mise en place d’un bot sur votre RPi.

Alors, comment installer un bot dans notre cas Kaamelott Bot sur notre Raspbbery

Nous allons d’abord créer un bot, rendez-vous sur le site dev de discord : https://discord.com/developers/applications connectez vous avec votre compte Discord.

Voici page sur laquelle vous arriver : Nous allons créer une nouvelle application en cliquant sur “New Application”, une fenêtre vous demandera le nom de votre application donnez lui un nom puis “Create” !

Voici la page que vous obtenez Si vous souhaitez personnaliser un peu votre Bot comme l’image du bot vous pouvez uploader une image qui s’affichera comme photo de profil  dans discord, vous pouvez également donner une description du bot.

Ce qui nous intéresse c’est le menu OAuth2 et Bot

Le menu Bot va nous permettre de récupérer notre Token, le token sert à associer votre programme  à votre bot sans lui rien ne fonctionne.

Rendez-vous maintenant dans le Menu OAuth2, c’est depuis ce menu que vous allez pouvoir générer un lien qui vous permettra d’intégrer votre bot à votre serveur Discord. Mais quelques réglages avant de pouvoir le faire.

Il faut dire à Discord que notre application est un bot en cochant la case “bot”

Ensuite, définir les permissions du bot, pour ce bot voilà les droits que je lui ai mis,si vous avez un doute vous pouvez par défaut mettre Administrator , mais je vous le déconseille fortement, car vous donnez les pleins pouvoirs à votre Bot ….pas  tip top

Maintenant,  vous pouvez rajouter le bot à  votre serveur discord pour ce faire copier coller le lien fourni dans un nouvel onglet de votre navigateur

Dans la nouvelle page sélectionner le serveur sur lequel vous voulez que le bot s’installe, valider les permissions que le bot demande puis cocher le captcha et voilà votre bot est maintenant sur votre serveur, mais hors ligne c’est normal !

Création et configuration de notre Bot sur notre RPi
sudo apt update
sudo apt install nodejs npm
  • Vérifions également que ffmepg est bien installé
sudo apt-get install ffmpeg
  • Maintenant nous allons installer Git pour pouvoir cloner facilement le repo contenant le bot
sudo apt install git
  • Voilà nous avons toutes les bases pour pouvoir commencer la mise en place du bot.
  • Créez un nouveau dossier puis rendez-vous dedans
mkdir DiscordBot

cd DiscordBot
  • Nous allons cloner Github contenant le bot encore merci à LeoPenaguin pour ce bot
git clone https://github.com/LeoPenaguin/kaamelott-bot
  • Logiquement, vous vous retrouvez avec un nouveau dossier qui se nomme kaamelott-bot
  • On rentre dans le dossier et faire un ls -a pour afficher le dossier cacher
    cd kaamelott-bot
    ls -a

Nous allons créer un nouveau fichier .env qui contiendra notre TOKEN discord (si si rappelez-vous je vous montre où l’obtenir plus haut dans le tuto

nano .env
  • Mettre ceci dedans,  bien entendu remplacer  VOTRE_TOKEN part votre Token
DISCORD_TOKEN=VOTRE_TOKEN
  • Ctrl+X + O + Entrée pour sauvegarder
  • Maintenant lancement de notre Bot avec NodeJS
sudo npm install
  • Puis lancement du bot avec
node index.js

 

  • Ne fermez surtout pas votre terminal pour le moment

Rendez-vous maintenant sur votre Discord votre bot est bien en ligne, il vous suffit de taper !kaamelott pour qu’il vienne dans votre salon vocal vous balancer une petite réplique !

Alors c’est bien beau tout fonctionne, mais vous êtes obligé de toujours laisser le terminal ouvert sinon votre Bot passe en hors ligne….. pas cool…. heureusement voilà la solution pour que votre Bot soit toujours en ligne, et surtout que même après un redémarrage de votre  Rpi ou une coupure il se lance tout seul comme un grand ! Pour pouvoir réaliser ce petit miracle nous allons avoir besoin de PM2,

PM2 est un deamon pour les processus en node.js il permet de les maintenir en ligne 24/24 7/7 COOL

Nous allons donc l’installer sur notre Rpi on réouvre un terminal et on tape la commande suivante :

sudo npm install pm2 -g

Attendre la fin d’installation puis rendez-vous dans le dossier contenant votre .js pour nous c’est index.js dans /home/pi/DiscordBot/kaameloot-bot/

cd /home/pi/DiscordBot/kaameloot-bot/

L’utilisation de pm2 est très simple nous allons lui demander de lancer notre JS avec cette commande :

pm2 start index.js

Voici ce que vous devez obtenir, j’ai bien le nom  et le statut ici online,  si vous retourner sur votre Discord votre bot est bien en ligne.

Voici la commande qui va permettre le lancement automatique en cas de coupure ou de reboot.

pm2 startup

PM2 vous affiche ici une ligne que vous devez copier et coller pour ajouter le  lancement automatique, voici le résultat obtenu Maintenant on sauvegarde les applications, pour qu’elle se lance aux démarrages dans notre cas il y a uniquement notre index.js nous allons demander à pm2 de sauvegarder notre liste pour qu’il puisse la relancer lors d’un reboot ou d’un arrêt

pm2 save

On reboot le Rpi pour voir si tout cela fonctionne bien

sudo reboot

Une fois rebooter ouvrir un terminal et pour voir les instances de pm2 taper ceci

pm2 ls

Et voilà ! C’est terminer ! Votre  bot  sera bien accessible 24/24 7/7 le tout automatiquement même en cas de coupure ou de reboot !

Amusez-vous bien !!!

Et comme  d’habitude si vous avez le moindre souci ou la moindre question la parti commentaire est là !

 

Source : 
https://github.com/LeoPenaguin/kaamelott-bot
https://codebear.info/2019/07/25/un-bot-kaamelott-pour-discord-en-javascript/
https://pm2.keymetrics.io/docs/usage/startup/
https://pm2.keymetrics.io/docs/usage/quick-start/


 


Souscrire
Me notifier des
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Commentaires en ligne
Voir tous les commentaires