# matter_bot ## Pré-requis `openssl` requis par [`mattermost_api`](https://github.com/Celeo/mattermost_api) ```bash sudo apt install libssl-dev ``` `.env` placé dans la racine du projet qui contient ses différentes variables : ``` TOKEN=votre_token_ici # pas besoin de token si vous mettez un combo pseudo/mot-de-passe PSEUDO=votre_pseudo_ici # pas besoin de pseudo si un token est renseigné MOT_DE_PASSE=votre_mot-de-passe_ici # pas besoin de mot de passe si un token est renseigné URL=url_du_site_ici, ex: https://talk.up8.edu EQUIPE=nom_de_lequipe, ex: etudiant-es ``` *Note: Si les deux moyens de connexion sont renseignés (token et pseudo/mot-de-passe), le bot ne se lancera pas.* Dans le cas ou vous optez pour le token, vous devez ajouter un bot, pour ce faire (d'après la [documentation officielle](https://developers.mattermost.com/integrate/admin-guide/admin-bot-accounts/)) : - Cliquez sur les 9 carrés en haut a gauche - Integrations - Bot Accounts - Add Bot Account - Remplissez les champs - Cochez la case `post:all` pour être sur qu'il n'y aura pas de problèmes de permission (c'est une reccomandation) - Create Bot Account - Dans la page suivante, vous aurez votre token --- ### Tests en local En local, j'ai utilisé Docker pour héberger mon instance de Mattermost et pouvoir faire des tests, voici le docker-compose que j'ai utilisé : ```docker version: "2" services: mattermost: image: mattermost/mattermost-preview:latest # version preview parce que c'est juste pour testé container_name: Mattermost ports: - 8065:8065 # cf. documentation officielle : https://docs.mattermost.com/install/setting-up-local-machine-using-docker.html restart: unless-stopped ``` --- ### Sources - [Documentation `mattermost_api`](https://docs.rs/mattermost_api/0.1.0/mattermost_api/) (utilisé pour communiquer avec Mattermost) - [Documentation `tokio`](https://docs.rs/tokio/1.15.0/tokio/attr.main.html) (utilisé car `mattermost_api` est `async`) --- *Projet ne fonctionne pas avec l'instance de la Fac, car son mattermost se connecte via Gitlab et (je crois?) aucune librarie ne supporte ceci.*