set_draft message changed event returns now draft's msg id

set_draft message changed event returns now draft msg id
instead of 0
This commit is contained in:
Simon Laux
2021-06-19 02:25:18 +02:00
committed by GitHub
parent 96f0e47091
commit bf61c16dc1

View File

@@ -453,12 +453,12 @@ impl ChatId {
/// Sets draft message. /// Sets draft message.
/// ///
/// Passing `None` as message just deletes the draft /// Passing `None` as message just deletes the draft
pub async fn set_draft(self, context: &Context, msg: Option<&mut Message>) -> Result<()> { pub async fn set_draft(self, context: &Context, mut msg: Option<&mut Message>) -> Result<()> {
if self.is_special() { if self.is_special() {
return Ok(()); return Ok(());
} }
let changed = match msg { let changed = match &mut msg {
None => self.maybe_delete_draft(context).await?, None => self.maybe_delete_draft(context).await?,
Some(msg) => self.set_draft_raw(context, msg).await?, Some(msg) => self.set_draft_raw(context, msg).await?,
}; };
@@ -466,7 +466,14 @@ impl ChatId {
if changed { if changed {
context.emit_event(EventType::MsgsChanged { context.emit_event(EventType::MsgsChanged {
chat_id: self, chat_id: self,
msg_id: MsgId::new(0), msg_id: if msg.is_some() {
match self.get_draft_msg_id(context).await? {
Some(msg_id) => msg_id,
None => MsgId::new(0),
}
} else {
MsgId::new(0)
},
}); });
} }