summaryrefslogtreecommitdiff
path: root/src/handlers/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers/error.rs')
-rw-r--r--src/handlers/error.rs33
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 => {