// Exemple d'utilisation du client Discord use discord_client::DiscordNotifier; fn main() -> Result<(), Box> { 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(()) }