53 lines
2.1 KiB
Rust
53 lines
2.1 KiB
Rust
// Exemple d'utilisation du client Discord
|
|
use discord_client::DiscordNotifier;
|
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
println!("📢 Test du client Discord\n");
|
|
|
|
// Note: Remplacez par votre vraie URL de webhook pour tester
|
|
let webhook_url = std::env::var("DISCORD_WEBHOOK")
|
|
.unwrap_or_else(|_| "https://discord.com/api/webhooks/EXAMPLE/URL".to_string());
|
|
|
|
if webhook_url.contains("EXAMPLE") {
|
|
println!("⚠️ Webhook d'exemple détecté - aucune notification ne sera envoyée");
|
|
println!(" Définissez DISCORD_WEBHOOK pour tester réellement");
|
|
return Ok(());
|
|
}
|
|
|
|
// Créer le notifier
|
|
let notifier = DiscordNotifier::new(
|
|
webhook_url,
|
|
"🤖 System Monitor Bot".to_string(),
|
|
"https://cdn.shopify.com/s/files/1/0262/1423/6212/files/Lord_of_the_Rings_eye_of_Sauron_-_Ghtic.com_-_Blog.png?v=1579680018".to_string(),
|
|
);
|
|
|
|
// Messages d'exemple
|
|
let messages = vec![
|
|
"✅ **Test de connexion**\n\nLe système de notification fonctionne correctement !",
|
|
"🚨 **Alerte simulée**\n\n**CPU:** 95% - Utilisation critique\n**Mémoire:** 87% - Niveau élevé",
|
|
"📊 **Rapport système**\n\n```\nCPU: 45%\nMémoire: 62%\nSwap: 12%\nDisque: 38%\n```\n\n*Surveillance automatique*",
|
|
];
|
|
|
|
// Envoyer les messages de test
|
|
for (i, message) in messages.iter().enumerate() {
|
|
println!("Envoi du message {} de {}...", i + 1, messages.len());
|
|
|
|
match notifier.send_notification(message) {
|
|
Ok(_) => println!("✅ Message {} envoyé avec succès", i + 1),
|
|
Err(e) => {
|
|
println!("❌ Erreur lors de l'envoi du message {} : {}", i + 1, e);
|
|
return Err(e);
|
|
}
|
|
}
|
|
|
|
// Pause entre les messages pour éviter le rate limiting
|
|
if i < messages.len() - 1 {
|
|
println!(" Pause de 2 secondes...\n");
|
|
std::thread::sleep(std::time::Duration::from_secs(2));
|
|
}
|
|
}
|
|
|
|
println!("\n🎉 Tous les messages de test ont été envoyés !");
|
|
Ok(())
|
|
}
|