No description
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| README.md | ||
| rust-toolchain.toml | ||
Cygnus
Structure
- Le fichier main.rs initialise le programme ;
- Le dossier commands contient toutes les commandes du bot (un fichier par commande);
- Attention : chaque module de commande doit être référencé dans le fichier mod.rs pour pouvoir être utilisé dans le main.rs;
- Et donc, chaque fonction de commande doit être donnée à
poise(dans le main.rs) pour qu'il puisse la transmettre à discord et réagir correctement.
Lancement
En mode développement, des informations sont à mettre dans un fichier env.
Il faut donc créer un fichier nommé .env à la racine de votre projet, et y écrire
TOKEN = le token du bot
MAILING_USERNAME = votre matricule HELMo
MAILING_PASSWORD = votre mot de passe HELMo
MAILING_SERVER = smtp.helmo.be
STORAGE_PATH = chemin vers la racine du stockage
Le projet peut ensuite être lancé normalement (via votre IDE, ou cargo run).
Structure des données
- 1 dossier par serveur (dossier nommé en fonction de l'ID du serveur)
- 1 fichier par utilisateur·ice et par dossier qui contient son adresse mail HELMo
Par exemple, 1 utilisateur rejoint le serveur Gaming et principal avec l'email p.nom@student.helmo.be
Note : on ne stocke pas le domaine de l'adresse email, ce serait redondant.
[user@cygnus]$ tree
.
├── 358231579714375690
│ └── 243281140079612931
└── 976597467281101450
└── 243281140079612931
2 directories, 2 files
[user@cygnus]$ cat 976597467281101450/243281140079612931
p.nom
[user@cygnus]$ cat 358231579714375690/243281140079612931
p.nom
Commandes à implémenter
Commandes globales
| Commande | Description | Exemple |
|---|---|---|
| verifier_user | Permet de vérifier si le compte est déjà validé sur un des serveurs | /verifier_user |
| lier | Demande l'envoie d'un code par mail à l'adresse mail mentionner en paramètre | /lier p.nom@student.helmo.be |
| verifier_code | Permet de vérifier le code reçu par mail | /verifier_code 123456 |
| info | Permet d'obtenir le message d'info du bot et des RGPD | /info |
Commandes d'administration
| Commande | Description | Exemple |
|---|---|---|
| qui_est | Permet d'obtenir l'email utilisé par l'utilisateur pour s'enregistrer | /qui_est @username |
| set_role | Permet de configurer le rôle qui sera attribuer à un utilisateur après sa vérification | /set_role @role_vérifié |