made new status system work properly
This commit is contained in:
+25
-1
@@ -9,6 +9,7 @@ use serde_json::{json, Value};
|
|||||||
|
|
||||||
use std::future::Future;
|
use std::future::Future;
|
||||||
use std::pin::Pin;
|
use std::pin::Pin;
|
||||||
|
use std::process;
|
||||||
|
|
||||||
pub fn event_handler<'a>(
|
pub fn event_handler<'a>(
|
||||||
ctx: &'a serenity::Context,
|
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 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.online();
|
||||||
ctx.set_activity(Some(custom_activity));
|
ctx.set_activity(Some(custom_activity));
|
||||||
|
rs_println!("Set bot status as: \"{}\"", status_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user