pub enum BotError {
Http(Error),
Api {
err: i32,
msg: String,
},
Status {
status: u16,
body: String,
},
Json(Error),
Redis(RedisError),
NotLinked,
Config(String),
Command(String),
RateLimited {
retry_after_secs: u64,
},
Other(String),
}Expand description
Bot-wide error type. Every variant is platform-neutral.
Variants§
Http(Error)
Outgoing HTTP request failed.
Api
The API returned an explicit error code + message.
Status
The API returned a non-200 status with a raw body.
Json(Error)
JSON deserialization failed.
Redis(RedisError)
Redis operation failed.
NotLinked
The user has no linked FicHub account.
Config(String)
Bad or missing configuration.
Command(String)
Invalid command usage.
RateLimited
Rate limited by a shared Redis bucket.
Other(String)
Anything else.
Trait Implementations§
Source§impl Error for BotError
impl Error for BotError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<RedisError> for BotError
impl From<RedisError> for BotError
Source§fn from(source: RedisError) -> Self
fn from(source: RedisError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for BotError
impl !UnwindSafe for BotError
impl Freeze for BotError
impl Send for BotError
impl Sync for BotError
impl Unpin for BotError
impl UnsafeUnpin for BotError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more