You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2b-rs/src/utils/error.rs

46 lines
1.0 KiB
Rust

use thiserror::Error;
pub type BotResult<T> = Result<T, BotError>;
#[derive(Error, Debug)]
pub enum BotError {
#[error("Serenity Error: {0}")]
SerenityError(#[from] serenity::Error),
#[error("Database Error: {0}")]
Database(#[from] database::error::DatabaseError),
#[error("Missing Bot Token")]
MissingToken,
#[error("Minecraft Data Error: {0}")]
MinecraftDataError(#[from] minecraft_data_rs::DataError),
#[error("IO Error: {0}")]
IOError(#[from] std::io::Error),
#[error("JSON Error: {0}")]
JsonError(#[from] serde_json::Error),
#[error("Spotify API Error: {0}")]
SpotifyError(#[from] aspotify::Error),
#[error("Reqwest Error: {0}")]
Reqwest(#[from] reqwest::Error),
#[error("Detected CLI injection attempt")]
CliInject,
#[error("Serenity Utils Error: {0}")]
SerenityUtils(#[from] serenity_utils::Error),
#[error("{0}")]
Msg(String),
}
impl From<&str> for BotError {
fn from(s: &str) -> Self {
Self::Msg(s.to_string())
}
}