Le bot a pour but de synchroniser automatiquement les roles discord aux differents items présents sur l'intranet. Il supporte actuellement les items suivants :
- Cursus
- Groupes
- Projects
- Coalitions
- Années
Il permet également de définir une politique de nommage permettant d'uniformiser le nom des membres.
Executer la commande /login puis suivre l'oauth sur le lien qui vous sera transmis.
Cette manipulation n'est nécessaire qu'une seule fois par étudiant
- Connexion internet
- 5 Go
dockerdocker-compose(command) oudocker compose(plugin)- les droits super-utilisateur pour ouvrir les ports réservé (http ou https) (< 1024)
Renommer le fichier .env.template en .env, puis saisir toutes les informations.
DOMAIN: Le domaine avec son protocole (ex:http://toto.42)BOT_TOKEN: Le token du bot discord présent sur le portail developpeurAPI_UID: api intra 42 uidAPI_SECRET: api intra 42 secretMODE: DEV (pour run en http), PROD (pour run en https)
Note: pour l'api la redirect uri devra correspondre à DOMAIN/connected, avec DOMAIN la variable du .env.
Le déploiement se fait avec docker, pour lancer omega lancer:
# see make help
makeAttention: le port exposé dans le docker-compose.yml ne doit pas être utilisé.
Note: le build prend quelques minutes (selon la connexion et le cpu).
Pour lancer le projet en production, il faut:
- dans le
.env, mettreMODE=PROD- dans le
docker-compose, mettre les 2 fichiers pour les certificats ssl en volume (décommenter et mettre le bon path) /!\ changer uniquement le path de la machine et non celui du conteneur- dans le
docker-compose, changer le port exposé (normalement 443)
Les commandes suivantes servent à la configuration des différentes options du bot. Elles peuvent être effectuées par tout membre possédant les droits administrateur sur le serveur.
Attention les configurations sont uniques, chaque serveur possède la sienne.
Elle vous permettra de définir l'item à synchroniser
Son identifiant sur l'intranet (dans le cas de l'année il faut mettre l'année d'entrée à l'ecole au lieu d'un id)
L'identifiant du rôle discord correspondant
Et enfin vous pouvez définir l'id du campus nécessaire pour obtenir le rôle. (pour définir tous les campus vous pouvez entrer 0)
Elle vous permettra d'attribuer un role a un utilisateur en fonction des dates de sa piscine.
Elle vous permettra de définir son identifiant sur l'intranet
D'autoriser ou non les differents statuts possibles avec le projet
De définir l'identifiant du rôle discord correspondant
Et enfin vous pouvez définir l'id du campus necessaire pour obtenir le rôle. (Pour définir tous les campus vous pouvez entrer 0)
L'argument naming_patern permet de configurer le patern de nommage. (&login et &campus sont des valeurs dynamiques elles seront remplacées par leur valeur pour chaque étudiant).
L'argument campus correspond à l'id du campus sur lesquel la politique va s'appliquer. (Pour définir tous les campus vous pouvez entrer 0).
Elle vous permettra de spécifier le type de sychronisation à interrompre
L'id intranet ou l'id discord en rapport
Et enfin l'identifiant
La version actuelle (beta) a une base de données litesql3 (changement certainement à venir [mariadb])












