EPSEM BOT
Un robot de Discord qui gère tous les e-mails et rôles des utilisateurs
Qu'est-ce que c'est?
Nous avons un serveur de Discord réservé aux étudiants avec presque tous les étudiants de mon université. Là, nous pouvons nous rencontrer et travailler ensemble. Comme cette année (en raison de la pandémie) nous ne pouvons pas nous rencontrer beaucoup face-à-face, cela a été une bonne alternative pour mieux se connaître.
Le principal problème du serveur, par rapport à d'autres services de l'université, était que n'importe qui pouvait rejoindre ce serveur: aucune preuve d'étudiant n'était demandée, aucune vérification ... ce n'était pas un endroit sécurisé.
C'est pourquoi j'ai pensé que ce serait une bonne idée de créer un robot Discord qui pourrait gérer toutes les vérifications des utilisateurs, et attribuer tous les rôles liés aux sujets où nous sommes inscrits, etc.
Comme nous avons un mail personnalisé (@quelque.chose.edu) dans l'université, si nous créons un robot qui vérifie qu'un utilisateur de Discord a un mail valide (avec cette termination), nous nous assurons que cette personne est un étudiant, et peut entrez dans le serveur.
Situation actuelle
À la fin de cette année, j'ai réussi à déployer le MVP (produit de valeur minimale) de ce projet. Il peut attribuer des rôles et peut vérifier les e-mails. Et il est sécurisé: chaque cas d'erreur a été planifié!
J'héberge actuellement le ropbot sur une Raspberry Pi 4 qui est à côté de mon routeur, donc il n'y a presque pas de coûts avec ce robot (juste un peu d'électricité). J'ai utilisé la même Raspberry Pi du projet de la plaque Node MCU.
Vous pouvez vérifier l'état du programme dans le repositoire de GitHub, où je publie toutes les modifications que je fais sur le robot. Et j'ai également réalisé (il y a quelque temps) une vidéo qui est sur YouTube présentant le MVP du bot. La vidéo est en catalan parce qu'elle était conçue pour des collègues, mais vous pouvez toujours la consulter ici:
Améliorations futures
Il y a encore beaucoup à faire dans ce projet, mais j'en suis fier car j'ai terminé la partie cruciale du robot: vérifier si quelqu'un est un étudiant.
Pour le moment, je n'ai prévu que 2 améliorations:
- Automatiser la partie d'attribution des rôles: actuellement, une fois l'étudiant est vérifié, certains boutons doivent être cliqués par l'utilisateur afin d'obtenir les bons rôles. Si l'université me donnait un moyen de vérifier dans leur base de données pour attribuer automatiquement les rôles respectifs à tous les étudiants (sans qu'ils cliquent sur ceux qu'ils veulent), le robot serait plus efficace.
- Gérer tous les canaux vocaux: si un utilisateur entre dans un canal vocal d'un sujet avec certains collègues, ce canal devient occupé. Et si un autre groupe d'étudiants doit travailler sur le même sujet en même temps? Dans ce cas, nous aurions besoin de créer un nouveau canal, avec les mêmes paramètres d'autorisations, et lorsque le permier canal redevient disponible, nous supprimons le canal cloné. Ce travail acharné ne peut être effectué que par un robot, et c'est pourquoi il figure sur ma liste d'améliorations.