Skip to content
 
 

Latest commit

 

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mensabot

A Discord bot for Mensa-France.

Forked from Mensa-PLO bot

To invite the bot in your server, go to https://mensafrbot.herokuapp.com/install

This is currently a test ground for playing with nodeJS and Discord.

Modules used

Here a the main modules used in this small application:

  1. Discord.js
  2. Prisma (ORM for postgres)
  3. Needle and Cheerio (Tools for web request)
  4. Sentry (Record server error)

TODO List

UC001: Clean up the authentification

  1. rework chatbot
  2. small server to receive verification code
  3. Following mensa membership to promote and demote user
  4. Make setting up flow
  5. Send warning to guild owner
  6. better logger
  7. Write Maintenance Task (Check everyday for promotion and demotion)

UC002: Support international members

  1. Write bilingual messages
  2. Chatbot detect for inter or french member
  3. crawler for mensa inter
  4. Add abstraction layer to call the correct crawler

UC003! Support for facebook

UC001: authentifier un membre Mensa sur Discord

  1. Créer le bot sur discord
  2. Faire que le bot se connecte à Discord
  3. Lire la liste des membres d'un serveur
  4. Envoyer un MP à chaque membre pour lui demander son numéro Mensa
  5. Recevoir le numéro Mensa
  6. Aller sur l'annuaire de Mensa pour lire le nom et l'email de la personne (et sa région au passage)
  7. Généré code de confirmation aléatoire et l'envoyer par mail à la personne
  8. Recevoir le code de confirmation par MP et valider la personne comme Membre Mensa en base
  9. Donner le rôle de membre Mensa sur le serveur Discord:
    • rendre plus fiable
    • garder la trace de la promotion (add column in member table)
  10. Découvrir les nouveaux arrivants sur un serveur

Problème : les membres d'un serveur qui sont déjà admins, ne pourront pas être promus par le bot. Il faudrait les détecter et les mettre comme admins (comme on l'a fait avec le owner).

UC002: annuaire pseudo / vrais noms

Ca c'est pour facilité le fait de pouvoir retrouver les gens qu'on connait derrière les pseudos.

  1. Recevoir un MP qui est Heliode ?
  2. Répondre en MP Heliode est Stéphane Le Solliec
  3. Recevoir un MP quel est le pseudo de Stéphane Le Solliec ?
  4. Répondre en MP Stéphane Le Solliec a pour pseudo Heliode

UC003: administration

  1. Demander à l'administrateur d'un serveur le nom du rôle de membre Mensa

some more links

  1. how to check a message sender has admin privileges in a guild

About

A Discord bot for Mensa-France

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages