diff options
Diffstat (limited to 'src/handlers/error.rs')
| -rw-r--r-- | src/handlers/error.rs | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/src/handlers/error.rs b/src/handlers/error.rs index 034e870..4bca032 100644 --- a/src/handlers/error.rs +++ b/src/handlers/error.rs @@ -3,8 +3,8 @@ use crate::Data; use color_eyre::eyre::Report; use log::error; -use poise::serenity_prelude::Timestamp; -use poise::FrameworkError; +use poise::serenity_prelude::{CreateEmbed, Timestamp}; +use poise::{CreateReply, FrameworkError}; pub async fn handle(error: poise::FrameworkError<'_, Data, Report>) { match error { @@ -12,24 +12,23 @@ pub async fn handle(error: poise::FrameworkError<'_, Data, Report>) { error, framework, .. } => { error!("Error setting up client! Bailing out"); - framework.shard_manager().lock().await.shutdown_all().await; + framework.shard_manager().shutdown_all().await; panic!("{error}") } - FrameworkError::Command { error, ctx } => { + FrameworkError::Command { error, ctx, .. } => { error!("Error in command {}:\n{error}", ctx.command().name); - ctx.send(|c| { - c.embed(|e| { - e.title("Something went wrong!") - .description("oopsie") - .timestamp(Timestamp::now()) - .color(Colors::Orange) - }) - }) - .await - .ok(); + let embed = CreateEmbed::default() + .title("Something went wrong!") + .description("oopsie") + .timestamp(Timestamp::now()) + .color(Colors::Orange); + + let reply = CreateReply::default().embed(embed); + + ctx.send(reply).await.ok(); } FrameworkError::EventHandler { @@ -37,8 +36,12 @@ pub async fn handle(error: poise::FrameworkError<'_, Data, Report>) { ctx: _, event, framework: _, + .. } => { - error!("Error while handling event {}:\n{error}", event.name()); + error!( + "Error while handling event {}:\n{error}", + event.snake_case_name() + ); } error => { |
