diff options
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/error.rs b/src/error.rs index f7796b8..b58dd5d 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,3 +1,5 @@ +use serde_derive::{Deserialize, Serialize}; + #[derive(Debug)] pub enum TdlibSysError { LogLevelOutOfBounds(u16), @@ -50,8 +52,14 @@ pub enum TgError { #[error("core channel has been closed unexpectedly")] ChannelClosed, - #[error("telegram replied with error code: {code} and message: {msg}")] - TelegramError { code: i32, msg: String }, + #[error("telegram replied with error code: {} and message: {}", .0.code, .0.msg)] + TelegramError(TelegramError), +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct TelegramError { + code: i32, + msg: String, } impl<T> std::convert::From<crossbeam::channel::SendError<T>> for TgError { |