initial rewrite in rust & moderation commands

Signed-off-by: seth <getchoo@tuta.io>
This commit is contained in:
seth 2023-12-03 04:11:57 -05:00
parent b17e357b75
commit 45403e9d9b
No known key found for this signature in database
GPG key ID: D31BD0D494BBEE86
53 changed files with 3297 additions and 2820 deletions

42
src/handlers/error.rs Normal file
View file

@ -0,0 +1,42 @@
use crate::consts::COLORS;
use crate::Data;
use color_eyre::eyre::Report;
use log::*;
use poise::serenity_prelude::Timestamp;
use poise::FrameworkError;
pub async fn handle(error: poise::FrameworkError<'_, Data, Report>) {
match error {
FrameworkError::Setup { error, .. } => error!("Error setting up client!\n{error:#?}"),
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();
}
FrameworkError::EventHandler {
error,
ctx: _,
event,
framework: _,
} => {
error!("Error while handling event {}:\n{error:?}", event.name());
}
error => {
if let Err(e) = poise::builtins::on_error(error).await {
error!("Unhandled error occured:\n{e:#?}");
}
}
}
}

24
src/handlers/event/mod.rs Normal file
View file

@ -0,0 +1,24 @@
use crate::Data;
use color_eyre::eyre::{Report, Result};
use poise::serenity_prelude as serenity;
use poise::{Event, FrameworkContext};
pub async fn handle(
ctx: &serenity::Context,
event: &Event<'_>,
framework: FrameworkContext<'_, Data, Report>,
data: &Data,
) -> Result<()> {
match event {
Event::Ready { data_about_bot } => {
log::info!("Logged in as {}!", data_about_bot.user.name)
}
Event::Message { new_message } => {}
_ => {}
}
Ok(())
}

5
src/handlers/mod.rs Normal file
View file

@ -0,0 +1,5 @@
mod error;
mod event;
pub use error::handle as handle_error;
pub use event::handle as handle_event;