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 dotenv::dotenv;
use std::env; use std::env;
mod erreur;
mod discord;
mod mattermost; mod mattermost;
#[tokio::main] #[tokio::main]
@ -9,28 +12,39 @@ async fn main() {
// Vérification si fichier .env trouvé // Vérification si fichier .env trouvé
panic!( 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 // Initialisation des variables token, pseudo et mot de passe
let mut token = "".to_string(); let mut token_mattermost = String::from("");
let mut pseudo = "".to_string(); let mut pseudo = String::from("");
let mut mot_de_passe = "".to_string(); let mut mot_de_passe = String::from("");
// Récupération du token // Récupération du token mattermost
let mut token_recuperer = false; let mut token_recuperer = false;
if let Ok(string) = env::var("TOKEN") { if let Ok(string) = env::var("TOKEN_MATTERMOST") {
token = string; token_mattermost = string;
token_recuperer = true; 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 // Récupération du pseudo
let mut pseudo_ok = false; let mut pseudo_ok = false;
match env::var("PSEUDO") { match env::var("PSEUDO") {
Ok(string) => { Ok(string) => {
if token_recuperer { 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_ok = true;
pseudo = string; pseudo = string;
@ -39,7 +53,7 @@ async fn main() {
if !token_recuperer { if !token_recuperer {
panic!( 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") { match env::var("MOT_DE_PASSE") {
Ok(string) => { Ok(string) => {
if token_recuperer { 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; mot_de_passe = string;
} }
@ -57,7 +71,7 @@ async fn main() {
if pseudo_ok { if pseudo_ok {
panic!( panic!(
"{}", "{}",
message_erreur( erreur::message_erreur(
"Tu as renseigné un pseudo mais pas de mot de passe dans le fichier .env" "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") 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('/') { if url.ends_with('/') {
// Si l'url finit par un '/' // Si l'url finit par un '/'
url = url[0..url.len() - 1].to_string(); // on retire le / 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(|_| { let equipe = env::var("EQUIPE").unwrap_or_else(|_| {
// Récupération de l'équipe // Récupération de l'équipe
panic!( 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; mattermost::team_info(&api, &equipe).await;
match mattermost::connect_websocket(&api, &token).await { // Tâche en paralèlle
Ok(res) => { mattermost::start_mattermost(mattermost::ConnectionInfoWebsocket {
println!("{}", res); api,
} token: token_mattermost, /* , prefix */
Err(e) => { })
println!("Error: {}", e); .await;
}
}
}
/// Jolie message d'erreur // Bloque le thread principale
fn message_erreur(message: &str) -> String { discord::start_discord(discord::ConnectionInfoDiscord {
format!( token: token_discord,
"\n{sep}\n{msg}\n{sep}\n", prefix,
sep = "=".repeat(message.len()), })
msg = message .await;
)
} }