store variants in message info holder
reason: people can go forward with callback and backward and see defferent message, when they shouldn't
This commit is contained in:
parent
c371f81008
commit
d68c7d688c
@ -103,6 +103,7 @@ pub struct Message {
|
||||
pub chat_id: i64,
|
||||
pub message_id: i64,
|
||||
pub token: String,
|
||||
pub variant: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
@ -299,6 +300,32 @@ pub trait CallDB {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn set_message_literal_variant(
|
||||
&mut self,
|
||||
chatid: i64,
|
||||
messageid: i32,
|
||||
literal: &str,
|
||||
variant: &str,
|
||||
) -> DbResult<()> {
|
||||
let db = self.get_database().await;
|
||||
let messages = db.collection::<Message>("messages");
|
||||
|
||||
messages
|
||||
.update_one(
|
||||
doc! {
|
||||
"chat_id": chatid,
|
||||
"message_id": messageid as i64
|
||||
},
|
||||
doc! {
|
||||
"$set": { "token": literal, "variant": variant }
|
||||
},
|
||||
)
|
||||
.upsert(true)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn get_literal(&mut self, literal: &str) -> DbResult<Option<Literal>> {
|
||||
let db = self.get_database().await;
|
||||
let messages = db.collection::<Literal>("literals");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user