diff --git a/src/commands.rs b/src/commands.rs index b837948..5df351c 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -82,7 +82,7 @@ pub(crate) async fn markov_all(api: Api, message: Message) -> Result<(), Error> } pub(crate) async fn markov(api: Api, message: Message) -> Result<(), Error> { - let messages = db::get_random_messages_group().await?; + let messages = db::get_random_messages_group(&message).await?; let mut chain = Chain::new(); chain.feed(messages); let mut sentences = chain.generate(); diff --git a/src/db.rs b/src/db.rs index d8559cd..0c52ec9 100644 --- a/src/db.rs +++ b/src/db.rs @@ -115,7 +115,10 @@ pub(crate) async fn get_random_messages() -> Result, Error> { Ok(messages) } -pub(crate) async fn get_random_messages_group() -> Result, Error> { +pub(crate) async fn get_random_messages_group( + message: &telegram_bot::Message +) -> Result, Error> { + let conf_id = i64::from(message.chat.id()); let conn = open()?; let mut stmt = conn.prepare_cached(" SELECT m.text FROM messages m @@ -123,7 +126,7 @@ pub(crate) async fn get_random_messages_group() -> Result, Error> { ORDER BY RANDOM() LIMIT 50 " )?; - let mut rows = stmt.query_named(named_params![])?; + let mut rows = stmt.query_named(named_params! {":conf_id": conf_id})?; let mut messages = Vec::new(); while let Some(row) = rows.next()? {