@@ -1135,9 +1135,11 @@ impl CommandApi {
1135
1135
async fn get_message ( & self , account_id : u32 , msg_id : u32 ) -> Result < MessageObject > {
1136
1136
let ctx = self . get_context ( account_id) . await ?;
1137
1137
let msg_id = MsgId :: new ( msg_id) ;
1138
- MessageObject :: from_msg_id ( & ctx, msg_id)
1138
+ let message_object = MessageObject :: from_msg_id ( & ctx, msg_id)
1139
1139
. await
1140
- . with_context ( || format ! ( "Failed to load message {msg_id} for account {account_id}" ) )
1140
+ . with_context ( || format ! ( "Failed to load message {msg_id} for account {account_id}" ) ) ?
1141
+ . with_context ( || format ! ( "Message {msg_id} does not exist for account {account_id}" ) ) ?;
1142
+ Ok ( message_object)
1141
1143
}
1142
1144
1143
1145
async fn get_message_html ( & self , account_id : u32 , message_id : u32 ) -> Result < Option < String > > {
@@ -1161,7 +1163,10 @@ impl CommandApi {
1161
1163
messages. insert (
1162
1164
message_id,
1163
1165
match message_result {
1164
- Ok ( message) => MessageLoadResult :: Message ( message) ,
1166
+ Ok ( Some ( message) ) => MessageLoadResult :: Message ( message) ,
1167
+ Ok ( None ) => MessageLoadResult :: LoadingError {
1168
+ error : "Message does not exist" . to_string ( ) ,
1169
+ } ,
1165
1170
Err ( error) => MessageLoadResult :: LoadingError {
1166
1171
error : format ! ( "{error:#}" ) ,
1167
1172
} ,
@@ -1999,9 +2004,7 @@ impl CommandApi {
1999
2004
async fn get_draft ( & self , account_id : u32 , chat_id : u32 ) -> Result < Option < MessageObject > > {
2000
2005
let ctx = self . get_context ( account_id) . await ?;
2001
2006
if let Some ( draft) = ChatId :: new ( chat_id) . get_draft ( & ctx) . await ? {
2002
- Ok ( Some (
2003
- MessageObject :: from_msg_id ( & ctx, draft. get_id ( ) ) . await ?,
2004
- ) )
2007
+ Ok ( MessageObject :: from_msg_id ( & ctx, draft. get_id ( ) ) . await ?)
2005
2008
} else {
2006
2009
Ok ( None )
2007
2010
}
@@ -2170,7 +2173,9 @@ impl CommandApi {
2170
2173
. await ?;
2171
2174
}
2172
2175
let msg_id = chat:: send_msg ( & ctx, ChatId :: new ( chat_id) , & mut message) . await ?;
2173
- let message = MessageObject :: from_msg_id ( & ctx, msg_id) . await ?;
2176
+ let message = MessageObject :: from_msg_id ( & ctx, msg_id)
2177
+ . await ?
2178
+ . context ( "Just sent message does not exist" ) ?;
2174
2179
Ok ( ( msg_id. to_u32 ( ) , message) )
2175
2180
}
2176
2181
0 commit comments