seek for discord token
This commit is contained in:
parent
c9eb7cc14e
commit
97060193b0
1 changed files with 42 additions and 30 deletions
72
src/main.rs
72
src/main.rs
|
@ -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;
|
||||
}
|
||||
|
|
Reference in a new issue