draft discord

This commit is contained in:
Mylloon 2022-01-04 18:18:04 +01:00
parent 34b16cb5d4
commit 23c6919861
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -1,4 +1,10 @@
# matter_bot
Au début, `matter_bot` devait être un bot qui fait le pont entre Discord et Mattermost.
Malheureusement, je n'ai pas réussi a recevoir les messages depuis Mattermost...
<!-- Ici on espère que je vais réussir à faire le côté Discord -->
J'ai laissé tout ce que j'ai commencé pour Mattermost, il faut donc quand-même renseigner
les variables demandés ci-dessous pour pouvoir lancer le bot.
## Pré-requis
`openssl` requis par [`mattermost_api`](https://github.com/Celeo/mattermost_api)
@ -8,14 +14,19 @@ 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é
TOKEN_MATTERMOST=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
URL=url_du_site_ici # ex: https://talk.up8.edu
EQUIPE=nom_de_lequipe # ex: etudiant-es
TOKEN_DISCORD=votre_token_ici # token discord
PREFIX=votre_prefix_ici # commun aux deux bots, par défaut: ç
```
*Note: Si les deux moyens de connexion sont renseignés (token et pseudo/mot-de-passe), le bot ne se lancera pas.*
#### Mattermost
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
@ -46,17 +57,18 @@ services:
- [Documentation `tokio`](https://docs.rs/tokio/1.15.0/tokio/attr.main.html) (utilisé car `mattermost_api` est `async`)
- [Documentation `chrono`](https://rust-lang-nursery.github.io/rust-cookbook/datetime/parse.html) (utilisé pour l'analyse des timestamps)
- [Documentation `serde_json`](https://docs.serde.rs/serde_json/#constructing-json-values) (utilisé pour gérer tout ce qui est `json`)
- [Documentation `serenity`](https://docs.rs/serenity/latest/serenity/client/trait.EventHandler.html) (utilisé pour communiquer avec Discord)
---
### Estimation du temps de build
Sur ma machine (WSL), le temps de build est court (<30s)
Sur ma machine (WSL), le temps de build d'environ une minute.
`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
Executed in 62.99 secs fish external
usr time 245.30 secs 299.00 micros 245.30 secs
sys time 22.10 secs 149.00 micros 22.10 secs
```
---