From 890c1a0a161bf0ce6629ec2453b9436722c4bb94 Mon Sep 17 00:00:00 2001 From: ByteDice Date: Tue, 24 Feb 2026 18:49:41 +0100 Subject: [PATCH] made new status system work properly --- src/events.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/events.rs b/src/events.rs index abe4aea..d9e5ce0 100644 --- a/src/events.rs +++ b/src/events.rs @@ -9,6 +9,7 @@ use serde_json::{json, Value}; use std::future::Future; use std::pin::Pin; +use std::process; pub fn event_handler<'a>( ctx: &'a serenity::Context, @@ -35,10 +36,33 @@ async fn on_ready(ctx: &serenity::Context, data_about_bot: &Ready, data: &Data) ); let m_data = get_toml_mutex(&data.cfg).await.unwrap(); - let custom_activity = ActivityData::custom(m_data["general"]["status"].as_str().unwrap()); + let status_str: String; + + let status = m_data["general"]["status"].as_str().unwrap(); + let status_c = m_data["general"]["statusCommitNumber"].as_bool().unwrap(); + let status_ec = m_data["general"]["statusExperimentalCommit"].as_bool().unwrap(); + + if status_c { + let commit_num_r = process::Command::new("git") + .args(["rev-list", "--count", "HEAD"]) + .output() + .unwrap(); + + let commit_num = format!( + "({} #{})", + if status_ec { "Experimental" } + else { "Commit" }, + String::from_utf8(commit_num_r.stdout).unwrap() + ).replace("\n", ""); + + status_str = [status, " ", commit_num.as_str().trim()].concat(); + } + else { status_str = status.to_string(); } + let custom_activity = ActivityData::custom(status_str.clone()); ctx.online(); ctx.set_activity(Some(custom_activity)); + rs_println!("Set bot status as: \"{}\"", status_str); }