From c3e7a669ac07ff09dfa2f483fd1850922feb15e2 Mon Sep 17 00:00:00 2001 From: toast Date: Thu, 1 Aug 2024 19:06:39 +1000 Subject: [PATCH] Forward RSS logs to the Discord channel --- src/internals/config.rs | 2 ++ src/internals/tasks/rss.rs | 45 +++++++++++++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/internals/config.rs b/src/internals/config.rs index f5b3b53..4783870 100644 --- a/src/internals/config.rs +++ b/src/internals/config.rs @@ -5,6 +5,7 @@ pub struct ConfigMeta { pub embed_color: i32, pub ready_notify: u64, pub rss_channel: u64, + pub kon_logs: u64, pub deploy_commands: bool, pub developers: Vec } @@ -29,6 +30,7 @@ impl ConfigMeta { embed_color: 0x5a99c7, ready_notify: 865673694184996888, rss_channel: 865673694184996888, + kon_logs: 1268493237912604672, deploy_commands: false, developers: vec![ 190407856527376384 // toast.ts diff --git a/src/internals/tasks/rss.rs b/src/internals/tasks/rss.rs index ab67219..de4d2e4 100644 --- a/src/internals/tasks/rss.rs +++ b/src/internals/tasks/rss.rs @@ -280,8 +280,19 @@ pub async fn rss(ctx: Arc) -> Result<(), Error> { Ok(Some(embed)) => { ChannelId::new(BINARY_PROPERTIES.rss_channel).send_message(&ctx.http, CreateMessage::new().add_embed(embed)).await.unwrap(); }, - Ok(None) => (), - Err(y) => task_err(&task_name, &y.to_string()) + Ok(None) => { + ChannelId::new(BINARY_PROPERTIES.kon_logs).send_message( + &ctx.http, CreateMessage::new() + .content("**[RSS:ESXi]:** Article returned no new content.") + ).await.unwrap(); + }, + Err(y) => { + ChannelId::new(BINARY_PROPERTIES.kon_logs).send_message( + &ctx.http, CreateMessage::new() + .content(format!("**[RSS:ESXi:Error]:** Feed failed with the following error:```\n{}\n```", y)) + ).await.unwrap(); + task_err(&task_name, &y.to_string()) + } } match gportal_embed().await { @@ -290,16 +301,38 @@ pub async fn rss(ctx: Arc) -> Result<(), Error> { .content("*Uh-oh! G-Portal is having issues!*").add_embed(embed) ).await.unwrap(); }, - Ok(None) => (), - Err(y) => task_err(&task_name, &y.to_string()) + Ok(None) => { + ChannelId::new(BINARY_PROPERTIES.kon_logs).send_message( + &ctx.http, CreateMessage::new() + .content("**[RSS:GPortal]:** Article returned no new content.") + ).await.unwrap(); + }, + Err(y) => { + ChannelId::new(BINARY_PROPERTIES.kon_logs).send_message( + &ctx.http, CreateMessage::new() + .content(format!("**[RSS:GPortal:Error]:** Feed failed with the following error:```\n{}\n```", y)) + ).await.unwrap(); + task_err(&task_name, &y.to_string()) + } } match rust_message().await { Ok(Some(content)) => { ChannelId::new(BINARY_PROPERTIES.rss_channel).send_message(&ctx.http, CreateMessage::new().content(content)).await.unwrap(); }, - Ok(None) => (), - Err(y) => task_err(&task_name, &y.to_string()) + Ok(None) => { + ChannelId::new(BINARY_PROPERTIES.kon_logs).send_message( + &ctx.http, CreateMessage::new() + .content("**[RSS:RustBlog]:** Article returned no new content.") + ).await.unwrap(); + }, + Err(y) => { + ChannelId::new(BINARY_PROPERTIES.kon_logs).send_message( + &ctx.http, CreateMessage::new() + .content(format!("**[RSS:RustBlog:Error]:** Feed failed with the following error:```\n{}\n```", y)) + ).await.unwrap(); + task_err(&task_name, &y.to_string()) + } } } }