seek for discord token

This commit is contained in:
Mylloon 2022-01-04 18:18:32 +01:00
parent c9eb7cc14e
commit 97060193b0
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -1,6 +1,9 @@
use dotenv::dotenv;
use std::env;
mod erreur;
mod discord;
mod mattermost;
#[tokio::main]
@ -9,28 +12,39 @@ async fn main() {
// Vérification si fichier .env trouvé
panic!(
"{}",
message_erreur("Le fichier .env n'a pas été trouvé ou invalide...")
erreur::message_erreur("Le fichier .env n'a pas été trouvé ou invalide...")
)
});
// Initialisation des variables token, pseudo et mot de passe
let mut token = "".to_string();
let mut pseudo = "".to_string();
let mut mot_de_passe = "".to_string();
let mut token_mattermost = String::from("");
let mut pseudo = String::from("");
let mut mot_de_passe = String::from("");
// Récupération du token
// Récupération du token mattermost
let mut token_recuperer = false;
if let Ok(string) = env::var("TOKEN") {
token = string;
if let Ok(string) = env::var("TOKEN_MATTERMOST") {
token_mattermost = string;
token_recuperer = true;
}
// Récupération du token discord
let token_discord = env::var("TOKEN_DISCORD").unwrap_or_else(|_| {
panic!(
"{}",
erreur::message_erreur("Token discord non trouvé dans le fichier .env")
)
}); // récupération du token
// Récupération du prefix
let prefix = env::var("PREFIX").unwrap_or_else(|_| String::from("ç")); // récupération du prefix
// Récupération du pseudo
let mut pseudo_ok = false;
match env::var("PSEUDO") {
Ok(string) => {
if token_recuperer {
panic!("{}", message_erreur("Tu as déjà choisie un token, vous ne pouvez pas aussi avoir définie un pseudo."));
panic!("{}", erreur::message_erreur("Tu as déjà choisie un token, vous ne pouvez pas aussi avoir définie un pseudo."));
}
pseudo_ok = true;
pseudo = string;
@ -39,7 +53,7 @@ async fn main() {
if !token_recuperer {
panic!(
"{}",
message_erreur("Aucun token ni pseudo trouvé dans le fichier .env")
erreur::message_erreur("Aucun token ni pseudo trouvé dans le fichier .env")
);
}
}
@ -49,7 +63,7 @@ async fn main() {
match env::var("MOT_DE_PASSE") {
Ok(string) => {
if token_recuperer {
panic!("{}", message_erreur("Tu as déjà choisie un token, vous ne pouvez pas aussi avoir définie un mot de passe."));
panic!("{}", erreur::message_erreur("Tu as déjà choisie un token, vous ne pouvez pas aussi avoir définie un mot de passe."));
}
mot_de_passe = string;
}
@ -57,7 +71,7 @@ async fn main() {
if pseudo_ok {
panic!(
"{}",
message_erreur(
erreur::message_erreur(
"Tu as renseigné un pseudo mais pas de mot de passe dans le fichier .env"
)
);
@ -65,38 +79,36 @@ async fn main() {
}
}
let mut url = env::var("URL")
.unwrap_or_else(|_| panic!("{}", message_erreur("URL non trouvé dans le fichier .env"))); // récupération de l'url
.unwrap_or_else(|_| panic!("{}", erreur::message_erreur("URL non trouvé dans le fichier .env"))); // récupération de l'url
if url.ends_with('/') {
// Si l'url finit par un '/'
url = url[0..url.len() - 1].to_string(); // on retire le /
}
let api = mattermost::connexion(&token, &pseudo, &mot_de_passe, &url).await; // connexion à mattermost
let api = mattermost::connexion(&token_mattermost, &pseudo, &mot_de_passe, &url).await; // connexion à mattermost
// On affiche les infos d'une team
let equipe = env::var("EQUIPE").unwrap_or_else(|_| {
// Récupération de l'équipe
panic!(
"{}",
message_erreur("Équipe non trouvé dans le fichier .env")
erreur::message_erreur("Équipe non trouvé dans le fichier .env")
)
});
mattermost::team_info(&api, &equipe).await;
match mattermost::connect_websocket(&api, &token).await {
Ok(res) => {
println!("{}", res);
}
Err(e) => {
println!("Error: {}", e);
}
}
}
// Tâche en paralèlle
mattermost::start_mattermost(mattermost::ConnectionInfoWebsocket {
api,
token: token_mattermost, /* , prefix */
})
.await;
/// Jolie message d'erreur
fn message_erreur(message: &str) -> String {
format!(
"\n{sep}\n{msg}\n{sep}\n",
sep = "=".repeat(message.len()),
msg = message
)
// Bloque le thread principale
discord::start_discord(discord::ConnectionInfoDiscord {
token: token_discord,
prefix,
})
.await;
}