re-categorized commands & removed reload_config because its too much work

This commit is contained in:
2026-02-25 14:53:30 +01:00
parent bb06048b0b
commit e88033fbea
7 changed files with 62 additions and 49 deletions
+1 -2
View File
@@ -32,13 +32,12 @@ add_post = ["weekly_art", "weekly"]
[commands]
# Disabled selected command categories. All commands and their categories can be viewed in the README.
# "admin" and "owner" categories are always enabled.
# [REQUIRES RESTART]
disabled_categories = [
# "fun",
# "help"
# "re"
# "debug"
# "db"
]
# The chance (between 0..1) for the `/8_ball` command to output a "quirky" answer.
+1 -1
View File
@@ -5,7 +5,7 @@ use crate::{data::dc_add_server, lang, messages::send_msg, Context, Error};
slash_command,
prefix_command,
rename = "add_server",
category = "admin",
category = "db",
default_member_permissions = "ADMINISTRATOR",
guild_only,
required_bot_permissions = "SEND_MESSAGES | VIEW_CHANNEL"
+3 -3
View File
@@ -1,4 +1,4 @@
use crate::{Context, Error, debug_cmds::{guild_invite, leave_guild, ping, reload_cfg, stop, view_guilds, whoami}};
use crate::{Context, Error, debug_cmds::{guild_invite, leave_guild, ping, stop, view_guilds, whoami}};
#[derive(poise::ChoiceParameter, PartialEq)]
@@ -6,7 +6,7 @@ pub enum Subcommands {
GuildInvite,
LeaveGuild,
Ping,
ReloadCfg,
//ReloadCfg,
Stop,
ViewGuilds,
WhoAmI
@@ -35,7 +35,7 @@ pub async fn cmd(
Subcommands::GuildInvite => guild_invite::cmd(ctx, u64_arg_u).await?,
Subcommands::LeaveGuild => leave_guild::cmd(ctx, u64_arg_u).await?,
Subcommands::Ping => ping::cmd(ctx).await?,
Subcommands::ReloadCfg => reload_cfg::cmd(ctx).await?,
//Subcommands::ReloadCfg => reload_cfg::cmd(ctx).await?,
Subcommands::Stop => stop::cmd(ctx, string_arg).await?,
Subcommands::ViewGuilds => view_guilds::cmd(ctx).await?,
Subcommands::WhoAmI => whoami::cmd(ctx).await?,
+11 -4
View File
@@ -1,4 +1,4 @@
use crate::{data::{self, get_toml_mutex, read_cfg_data}, lang, messages::send_msg, Context, Error};
/*use crate::{Context, Error, data::{self, get_toml_mutex, read_cfg_data}, lang, messages::send_msg};
pub async fn cmd(ctx: Context<'_>) -> Result<(), Error> {
@@ -7,9 +7,7 @@ pub async fn cmd(ctx: Context<'_>) -> Result<(), Error> {
if r.is_none() { return Ok(()); }
let data_binding = get_toml_mutex(&ctx.data().cfg).await.unwrap();
let lang_cfg = data_binding["general"]["lang"].as_str().unwrap();
data::load_lang_data(lang_cfg.to_string());
update_cfg(ctx).await;
if r.unwrap()["value"].as_bool().unwrap() {
send_msg(
@@ -24,3 +22,12 @@ pub async fn cmd(ctx: Context<'_>) -> Result<(), Error> {
send_msg(ctx, lang!("dc_msg_reload_cfg_python_fail"), true, true).await;
return Ok(());
}
async fn update_cfg(ctx: Context<'_>) {
let data_binding = get_toml_mutex(&ctx.data().cfg).await.unwrap();
let lang_cfg = data_binding["general"]["lang"].as_str().unwrap();
data::load_lang_data(lang_cfg.to_string());
set_status(data_binding, ctx).await;
}*/
+4 -29
View File
@@ -1,15 +1,15 @@
use crate::data::{get_mutex_data, get_toml_mutex, update_re_data};
use crate::r#gen::set_status;
use crate::messages::{make_post_embed, make_removed_embed, EmbedOptions};
use crate::re_cmds::generic_fns::{is_bk_mod, is_bk_mod_serenity, serenity_edit_msg_embed, serenity_send_msg};
use crate::websocket::send_cmd_json;
use crate::{lang, rs_println, Data, Error, CFG_DATA_RE};
use crate::{CFG_DATA_RE, Data, Error, lang, rs_println};
use poise::serenity_prelude::{self as serenity, ActivityData, ChannelId, ComponentInteraction, Interaction, Member, MessageId, Ready};
use poise::serenity_prelude::{self as serenity, ChannelId, ComponentInteraction, Interaction, Member, MessageId, Ready};
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,
@@ -36,33 +36,8 @@ async fn on_ready(ctx: &serenity::Context, data_about_bot: &Ready, data: &Data)
);
let m_data = get_toml_mutex(&data.cfg).await.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);
set_status(m_data, ctx).await;
}
+40 -8
View File
@@ -1,10 +1,12 @@
use std::collections::HashSet;
use std::{collections::HashSet, process};
use poise::serenity_prelude::UserId;
use poise::serenity_prelude::{ActivityData, UserId};
use poise::serenity_prelude as serenity;
use poise::serenity_prelude::Client;
use toml::Value;
use crate::{Args, Cmd, Data, cmds, data::{self, get_toml_mutex}, debug_cmds, events, re_cmds, rs_println};
use crate::data::get_toml_mutex;
use crate::{Args, Cmd, Data, cmds, data, debug_cmds, events, re_cmds, rs_println};
pub async fn gen_data(args: Args, owners: Vec<u64>) -> Data {
@@ -93,14 +95,13 @@ async fn make_cmd_vec(data: &Data) -> Vec<Cmd> {
re_cmds::update::cmd(),
re_cmds::vote::cmd(),
re_cmds::shorturl::cmd(),
// [ADMIN / OWNER]
// OWNER
cmds::embed::cmd(),
cmds::send::cmd(),
cmds::add_server::cmd(),
// REDDIT [ADMIN / OWNER]
debug_cmds::main_cmd::cmd(),
// DATABASE
re_cmds::admin_bind::cmd(),
// DEBUG
debug_cmds::main_cmd::cmd()
cmds::add_server::cmd(),
];
let cfg = get_toml_mutex(&data.cfg).await.unwrap();
@@ -115,3 +116,34 @@ async fn make_cmd_vec(data: &Data) -> Vec<Cmd> {
return cmds;
}
pub async fn set_status(m_data: Value, ctx: &serenity::Context) {
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);
}
+1 -1
View File
@@ -4,7 +4,7 @@ use crate::{data::dc_bind_bk, lang, messages::send_msg, Context, Error};
slash_command,
prefix_command,
rename = "admin_re_bindchannel",
category = "admin",
category = "db",
default_member_permissions = "ADMINISTRATOR",
guild_only,
required_bot_permissions = "SEND_MESSAGES | VIEW_CHANNEL"