aboutsummaryrefslogtreecommitdiff
path: root/src/bot.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bot.rs')
-rw-r--r--src/bot.rs46
1 files changed, 19 insertions, 27 deletions
diff --git a/src/bot.rs b/src/bot.rs
index ac283db..99acd42 100644
--- a/src/bot.rs
+++ b/src/bot.rs
@@ -109,7 +109,7 @@ async fn perm_check(ctx: &Context, guild: &Guild) -> anyhow::Result<()> {
let me = ctx.cache.current_user().id;
let member = guild.member(&ctx, me).await?;
- let perms = member.permissions(&ctx)?;
+ let perms = member.permissions(ctx)?;
let lacking_perms = util::REQUIRED_PERMS.difference(perms);
@@ -331,19 +331,17 @@ fn on_err(err: FrameworkError<PoiseData, anyhow::Error>) -> BoxFuture<()> {
"BANIC".to_string()
},
}
+ } else if let Err(e) = commands::meme::invoke::_meme(
+ PoiseContext::Prefix(ctx),
+ msg_content,
+ Default::default(),
+ )
+ .await
+ {
+ tracing::error!(error = %e, "producing meme for unrecognized");
+ "BANIC".to_string()
} else {
- if let Err(e) = commands::meme::invoke::_meme(
- PoiseContext::Prefix(ctx),
- msg_content,
- Default::default(),
- )
- .await
- {
- tracing::error!(error = %e, "producing meme for unrecognized");
- "BANIC".to_string()
- } else {
- return;
- }
+ return;
}
},
_ => "BANIC".to_string(),
@@ -365,7 +363,7 @@ async fn framework() -> poise::Framework<PoiseData, anyhow::Error> {
let additional_prefixes =
ALL_PREFIXES.iter().skip(1).map(|x| poise::Prefix::Literal(x.to_owned())).collect();
- let framework = poise::Framework::builder()
+ poise::Framework::builder()
.options(poise::FrameworkOptions {
pre_command: before_handle,
post_command: after_handle,
@@ -374,7 +372,7 @@ async fn framework() -> poise::Framework<PoiseData, anyhow::Error> {
command_check: Some(check),
prefix_options: poise::PrefixFrameworkOptions {
- prefix: ALL_PREFIXES.get(0).map(|&x| x.to_owned()),
+ prefix: ALL_PREFIXES.first().map(|&x| x.to_owned()),
additional_prefixes,
case_insensitive_commands: true,
mention_as_prefix: false,
@@ -390,9 +388,7 @@ async fn framework() -> poise::Framework<PoiseData, anyhow::Error> {
..Default::default()
})
.setup(|_ctx, _ready, _framework| Box::pin(async move { Ok(()) }))
- .build();
-
- framework
+ .build()
}
fn check(ctx: PoiseContext) -> BoxFuture<anyhow::Result<bool>> {
@@ -466,9 +462,7 @@ fn after_handle(ctx: PoiseContext) -> BoxFuture<()> {
pub async fn run() -> anyhow::Result<()> {
#[cfg(all(windows, feature = "windows_autostart_postgres"))]
- let started_pg =
- tokio::task::spawn_blocking(|| unsafe { util::windows::ensure_postgres_started() })
- .await??;
+ let started_pg = tokio::task::spawn_blocking(util::windows::ensure_postgres_started).await??;
let token = &CONFIG.discord.auth.token;
@@ -506,7 +500,7 @@ pub async fn run() -> anyhow::Result<()> {
let Some(songbird) = ({
let data = client_data.read().await;
- data.get::<songbird::SongbirdKey>().map(|x| x.clone())
+ data.get::<songbird::SongbirdKey>().cloned()
}) else {
tracing::warn!("gc songbird data: no songbird in state");
continue;
@@ -559,12 +553,10 @@ pub async fn run() -> anyhow::Result<()> {
tracing::info!("discord shutdown");
#[cfg(all(windows, feature = "windows_autostart_postgres"))]
- unsafe {
- if started_pg {
- tracing::info!("we started postgres, stopping it before shutdown");
+ if started_pg {
+ tracing::info!("we started postgres, stopping it before shutdown");
- tokio::task::spawn_blocking(|| util::windows::shutdown_postgres()).await??;
- }
+ tokio::task::spawn_blocking(util::windows::shutdown_postgres).await??;
}
Ok(())