wip
This commit is contained in:
52
examples/discord_notifications.rs
Normal file
52
examples/discord_notifications.rs
Normal file
@@ -0,0 +1,52 @@
|
||||
// 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(())
|
||||
}
|
||||
Reference in New Issue
Block a user