ThomasPof / discord-bot-ffvl

Bot Discord pour les serveurs de parapente FFVL
3 stars 1 forks source link
bot discord javascript

Bot pour serveur Discord de parapente FFVL

Ce bot est conçu pour intéragir de manière automatique via certaines commandes avec les utilisateurs. Il permet notamment de valider les licences des membres afin de vérifier qu'ils sont bien membre du club.

ToDo

Abandonnés :

Installation

Node.js 16.9.0 or newer is required.

Install the app : npm i

Run the app : node .

Prérequis

Configuration:

Il est nécessaire de créer un fichier config.json à la racine, ayant cette forme :

{
  "Token": "le token du bot Discord",
  "serverId" : "ID du serveur",
  "mainRoleId": "l'ID du rôle 'membre du club' du serveur",
  "newMemberRoleId": "un ID de rôle donné aux nouveaux membres n'ayant pas validé leur licence",
  "structureId": "Numéro de structure de la licence FFVL",
  "licences": "array de licences FFVL"
}

Traduction

Les textes du bot sont définient dans le fichier translation/messages.js. Le script preinstall, executé automatiquement à l'installation de l'app va générer ce fichier sur la base du modèle translation/messages.js.

Fonctionnement

  1. Un nouveau membre Discord se connecte au serveur, il obtient automatiquement le rôle de newMemberRoleId. Un message de bienvenue est envoyé par le bot (à personnaliser dans Events/Clients/newMember.js)
  2. Il peut lancer la commande /licence XXXX (XXXX = numéro FFVL) afin de valider sa licence. Si la licence est dans la liste des licences du fichier Validation/Licences.js ou sur le site de la FFVL, alors sa licence est validée. Il obtient alors les rôles de mainRoleId et un rôle "Licencié 2021" (année en cours)
  3. Au début de chaque année, la licence doit être renouvelée. Ainsi, les administrateurs peuvent lancer une discussion pour pousser au renouvellement. Les membres doivent donc de nouveau lancer la commande /licence XXXX pour obtenir le nouveau rôle "Licencié 2022" et perdre "Licencié 2021".
  4. On peut imaginer qu'au mois de Mars, un membre n'ayant pas renouvelé sa licence n'est plus membre. L'admin peut donc lancer la commande /licences_clean_all qui aura pour effet de supprimer le rôle mainRoleId à toutes les personnes n'ayant pas le rôle "Licencié 2022"

Commandes PROD disponibles

Commandes DEV disponibles