From 47e065acf6beda0d51081aed41c5f7f965a0d2b2 Mon Sep 17 00:00:00 2001 From: jakubmanczak Date: Thu, 1 May 2025 02:41:31 +0200 Subject: [PATCH] add discord guild icon updating by event schedule --- Cargo.lock | 120 +++++++++++++++++++++++++++- Cargo.toml | 2 + assets/logo-x512-lgbtflag.png | Bin 0 -> 49667 bytes assets/logo-x512-polish.png | Bin 0 -> 6279 bytes assets/logo-x512-starwars.png | Bin 0 -> 19203 bytes assets/logo-x512.png | Bin 0 -> 21241 bytes src/discordbot/guild_icon.rs | 142 ++++++++++++++++++++++++++++++++++ src/discordbot/mod.rs | 3 + 8 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 assets/logo-x512-lgbtflag.png create mode 100644 assets/logo-x512-polish.png create mode 100644 assets/logo-x512-starwars.png create mode 100644 assets/logo-x512.png create mode 100644 src/discordbot/guild_icon.rs diff --git a/Cargo.lock b/Cargo.lock index c532719..ac3048c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,15 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -37,6 +46,8 @@ name = "arche" version = "0.1.0" dependencies = [ "axum", + "chrono", + "chrono-tz", "dotenvy", "rand 0.9.1", "serenity", @@ -245,17 +256,40 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", "serde", + "wasm-bindgen", "windows-link", ] +[[package]] +name = "chrono-tz" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efdce149c370f133a071ca8ef6ea340b7b88748ab0810097a9e2976eaa34b4f3" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f10f8c9340e31fc120ff885fcdb54a0b48e474bbd77cab557f0c30a3e569402" +dependencies = [ + "parse-zoneinfo", + "phf_codegen", +] + [[package]] name = "command_attr" version = "0.5.3" @@ -1124,12 +1158,59 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "parse-zoneinfo" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", +] + [[package]] name = "percent-encoding" version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project-lite" version = "0.2.16" @@ -1260,6 +1341,35 @@ dependencies = [ "bitflags 2.9.0", ] +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + [[package]] name = "reqwest" version = "0.11.27" @@ -1590,6 +1700,12 @@ dependencies = [ "libc", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "skeptic" version = "0.13.7" diff --git a/Cargo.toml b/Cargo.toml index fb4897a..776d84f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,8 @@ edition = "2024" [dependencies] axum = "0.8.3" +chrono = "0.4.41" +chrono-tz = "0.10.3" dotenvy = "0.15.7" rand = "0.9.1" serenity = "0.12.4" diff --git a/assets/logo-x512-lgbtflag.png b/assets/logo-x512-lgbtflag.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff22932518c052ce959bcd39de6da5b806a1966 GIT binary patch literal 49667 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≤Nz7@I2#7%JmjA}8A@%d(JEh#>{NaaZ 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 KvW%CRg5LT7_~;g+$d#7FyAee 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%0ARsOz+rV2EIZRb@T_bx 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 literal 0 HcmV?d00001 diff --git a/assets/logo-x512-starwars.png b/assets/logo-x512-starwars.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a7786cbfab1929289a921d8b0663b60a5f8c95 GIT binary patch literal 19203 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 &str { + use Event as E; + match self { + E::PolskaGórą => "./assets/logo-x512-polish.png", + E::PrideMonth => "./assets/logo-x512-lgbtflag.png", + E::StarWarsDay => "./assets/logo-x512-starwars.png", + _ => "./assets/logo-x512.png", + } + } +} + +fn get_current_event() -> Event { + let today = Local::now(); + let (month, day) = (today.month(), today.day()); + + match (day, month) { + (1, 1) => Event::NewYears, + (2..=6, 1) => Event::Christmas, + (14, 2) => Event::ValentineDay, + (1..=3, 5) => Event::PolskaGórą, + (4, 5) => Event::StarWarsDay, + (17, 5) => Event::AnniversaryMinecraft, + (7, 6) => Event::AnniversaryGractwo, + (_, 6) => Event::PrideMonth, + (24, 8) => Event::AnniversaryTF2, + (10, 10) => Event::AnniversaryTF2, + (31, 10) => Event::Halloween, + (11, 11) => Event::Rogaliki, + (24..=30, 12) => Event::Christmas, + (31, 12) => Event::NewYears, + _ => Event::Normal, + } +} + +pub fn init_service(ctx: &Context, guild_id: &GuildId) { + let (ctx, guild_id) = (ctx.clone(), guild_id.clone()); + info!("Initialising guild name/icon automation service..."); + + if guild_id != MAIN_GUILD_ID { + info!("Guild name/icon automation service not initialised; Bot not running on main guild."); + return; + } + + tokio::spawn(async move { + run_icon_service(ctx, guild_id).await; + }); +} + +pub async fn run_icon_service(ctx: Context, guild_id: GuildId) { + loop { + update_icon(&ctx, guild_id).await.ok(); + sleep_until_next_midnight().await; + } +} + +async fn update_icon(ctx: &Context, guild_id: GuildId) -> Result<(), String> { + let mut guild = match Guild::get(&ctx.http, guild_id).await { + Ok(g) => g, + Err(e) => { + error!("Could not get guild info..."); + return Err("Could not get guild info: {e}".to_string()); + } + }; + let event = get_current_event(); + + let icon = match CreateAttachment::path(event.icon()).await { + Ok(i) => i, + Err(e) => { + error!("Could not create icon attachment..."); + return Err("Could not create icon attachment: {e}".to_string()); + } + }; + match guild + .edit(&ctx.http, EditGuild::new().icon(Some(&icon))) + .await + { + Ok(_) => info!("Guild icon updated."), + Err(e) => { + error!("Could not update guild icon..."); + return Err("Could not update guild icon: {e}".to_string()); + } + }; + + Ok(()) +} + +async fn sleep_until_next_midnight() { + let now = Utc::now().with_timezone(&Warsaw); + let tomorrow = now.date_naive() + chrono::Duration::days(1); + + let next_midnight = match Warsaw + .with_ymd_and_hms( + tomorrow.year_ce().1 as i32, + tomorrow.month(), + tomorrow.day(), + 0, + 0, + 0, + ) + .earliest() + { + Some(nm) => nm, + None => Utc::now().with_timezone(&Warsaw) + Duration::minutes(61), + // e.g. jumps in time occur at 2AM/3AM, Midnight shouldn't be affected + // but even if it was, returning None, a gap shouldn't last more than an hour. + }; + + let sleeptime = match next_midnight.signed_duration_since(now).to_std() { + Ok(t) => t, + Err(_) => { + warn!("The next midnight is, supposedly, not in the future."); + warn!("Sleeping an hour instead..."); + StdDuration::from_secs(1 * 60 * 60) + } + }; + + tokio::time::sleep(sleeptime).await; +} diff --git a/src/discordbot/mod.rs b/src/discordbot/mod.rs index 438081a..b3df5b3 100644 --- a/src/discordbot/mod.rs +++ b/src/discordbot/mod.rs @@ -11,6 +11,7 @@ const GUILD_ID: &str = "DISCORD_SERVER_ID"; struct Handler; mod commands; +mod guild_icon; #[async_trait] impl EventHandler for Handler { @@ -31,6 +32,8 @@ impl EventHandler for Handler { Ok(_) => info!("Successfully registered commands on the guild.",), Err(why) => info!("Failed to register commands on the guild: {why:?}"), }; + + guild_icon::init_service(&ctx, &guild_id); } async fn interaction_create(&self, ctx: Context, interaction: Interaction) {