diff --git a/src/cmds/edit_members.rs b/src/cmds/edit_members.rs index e5ed669..e246944 100644 --- a/src/cmds/edit_members.rs +++ b/src/cmds/edit_members.rs @@ -2,6 +2,7 @@ use crate::{db, ACtx, Error}; use poise::serenity_prelude as serenity; /// Unreachable, used to create edit_member command folder +#[allow(clippy::unused_async)] #[poise::command( slash_command, subcommands( diff --git a/src/cmds/members.rs b/src/cmds/members.rs index 9acdeb3..c354a14 100644 --- a/src/cmds/members.rs +++ b/src/cmds/members.rs @@ -81,6 +81,7 @@ pub(crate) async fn get_all_members(ctx: ACtx<'_>) -> Result<(), Error> { } /// Unreachable, used to create get_member command folder +#[allow(clippy::unused_async)] #[poise::command( slash_command, subcommands( diff --git a/src/cmds/whois.rs b/src/cmds/whois.rs index 63d4e20..982d6fe 100644 --- a/src/cmds/whois.rs +++ b/src/cmds/whois.rs @@ -2,6 +2,7 @@ use crate::{db, ACtx, Error}; use poise::serenity_prelude as serenity; /// Unreachable, used to create whois command folder +#[allow(clippy::unused_async)] #[poise::command( slash_command, subcommands("whois_by_id", "whois_by_nickname", "whois_by_realname") diff --git a/src/main.rs b/src/main.rs index 51abed6..a387647 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,4 @@ +#![warn(clippy::pedantic)] use anyhow::Context as _; use poise::serenity_prelude as serenity; @@ -55,29 +56,7 @@ async fn poise( #[shuttle_shared_db::Postgres] pool: sqlx::PgPool, ) -> Result { // Set Up Tracing Subscriber - use tracing_subscriber as ts; - use ts::prelude::*; - ts::registry() - .with( - ts::fmt::layer() - .without_time() - .with_filter(ts::EnvFilter::new( - "info,nano=info,shuttle=trace,serenity=off", - )), - ) - .with( - ts::fmt::layer() - .without_time() - .fmt_fields(ts::fmt::format::debug_fn(|w, f, v| { - if f.name() == "message" { - write!(w, "{v:?}") - } else { - write!(w, "") - } - })) - .with_filter(ts::EnvFilter::new("off,serenity=info")), - ) - .init(); + init_tracing_subscriber(); tracing::info!("Tracing Subscriber Set Up"); // Run SQLx Migrations @@ -144,32 +123,7 @@ async fn poise( // Build Poise Instance let discord = poise::Framework::builder() .options(poise::FrameworkOptions { - commands: vec![ - cmds::cmds(), - cmds::setup(), - cmds::count_members(), - cmds::delete_member(), - cmds::get_all_members(), - cmds::get_member(), - cmds::add_member(), - cmds::insert_member_from_pending(), - cmds::insert_member_from_manual(), - cmds::edit_member(), - cmds::set_members_non_fresher(), - cmds::count_pending(), - cmds::delete_pending(), - cmds::get_all_pending(), - cmds::get_pending(), - cmds::add_pending(), - cmds::delete_all_pending(), - cmds::count_manual(), - cmds::delete_manual(), - cmds::get_all_manual(), - cmds::get_manual(), - cmds::add_manual(), - cmds::delete_all_manual(), - cmds::whois(), - ], + commands: all_commands(), event_handler: { |c, e, f, d| Box::pin(event_handler(c, e, f, d)) }, ..Default::default() }) @@ -255,3 +209,58 @@ async fn event_handler( } Ok(()) } + +fn init_tracing_subscriber() { + use tracing_subscriber as ts; + use ts::prelude::*; + ts::registry() + .with( + ts::fmt::layer() + .without_time() + .with_filter(ts::EnvFilter::new( + "info,nano=info,shuttle=trace,serenity=off", + )), + ) + .with( + ts::fmt::layer() + .without_time() + .fmt_fields(ts::fmt::format::debug_fn(|w, f, v| { + if f.name() == "message" { + write!(w, "{v:?}") + } else { + write!(w, "") + } + })) + .with_filter(ts::EnvFilter::new("off,serenity=info")), + ) + .init(); +} + +fn all_commands() -> Vec> { + vec![ + cmds::cmds(), + cmds::setup(), + cmds::count_members(), + cmds::delete_member(), + cmds::get_all_members(), + cmds::get_member(), + cmds::add_member(), + cmds::insert_member_from_pending(), + cmds::insert_member_from_manual(), + cmds::edit_member(), + cmds::set_members_non_fresher(), + cmds::count_pending(), + cmds::delete_pending(), + cmds::get_all_pending(), + cmds::get_pending(), + cmds::add_pending(), + cmds::delete_all_pending(), + cmds::count_manual(), + cmds::delete_manual(), + cmds::get_all_manual(), + cmds::get_manual(), + cmds::add_manual(), + cmds::delete_all_manual(), + cmds::whois(), + ] +}