Bot Mattermost écrit en Rust faisant la liaison entre Mattermost et Discord (WIP)
This repository has been archived on 2022-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2022-01-03 10:42:26 +01:00
src cargo fmt 2022-01-03 10:42:26 +01:00
.gitignore Add token storage in a .env file 2021-12-03 10:48:11 +01:00
Cargo.lock use tokio instead of blocking the main thread 2021-12-21 09:59:35 +01:00
Cargo.toml in line with the official documentation 2021-12-21 10:00:45 +01:00
README.md add build estimation 2022-01-03 10:20:21 +01:00

matter_bot

Pré-requis

openssl requis par mattermost_api

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) :

  • 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 d'accès

Dans mes tests, je reçois une interdiction serveur 403 donc je peux pas assurer que ça fonctionne (en théorie oui) Cependant, la connexion par pseudo/mot-de-passe est testée et fonctionne


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é :

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


Estimation du temps de build

Sur ma machine (WSL), le temps de build est court (<30s)

time cargo build :

________________________________________________________
Executed in   24.82 secs    fish           external
   usr time  109.54 secs  284.00 micros  109.54 secs
   sys time    9.73 secs    0.00 micros    9.73 secs

Projet ne fonctionne pas avec l'instance de la Fac, car son mattermost se connecte via Gitlab et (je crois?) aucune librairie ne supporte ceci en Rust.