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