From 3b4ab9b4816d03d42d75bf75675207880492ea0d Mon Sep 17 00:00:00 2001 From: Akulij Date: Thu, 5 Jun 2025 22:21:44 +0500 Subject: [PATCH] implement usage of BotMessage.meta flag in handle_botmessage --- src/bot_handler.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/bot_handler.rs b/src/bot_handler.rs index 39fd973..1e09919 100644 --- a/src/bot_handler.rs +++ b/src/bot_handler.rs @@ -17,7 +17,7 @@ use crate::{ commands::BotCommand, db::{CallDB, DB}, message_answerer::MessageAnswerer, - update_user_tg, BotError, BotResult, BotRuntime, + notify_admin, update_user_tg, BotError, BotResult, BotRuntime, }; pub type BotHandler = @@ -69,6 +69,20 @@ async fn handle_botmessage(bot: Bot, mut db: DB, bm: BotMessage, msg: Message) - let user = update_user_tg(user, &tguser); user.update_user(&mut db).await?; + if bm.meta() == true { + let meta = match BotCommand::from_str(msg.text().unwrap_or("")) { + Ok(cmd) => cmd.args().map(|m| m.to_string()), + Err(err) => { + notify_admin(&format!("Error while parsing cmd in `meta`, possibly meta is set not in command, err: {err}")).await; + None + } + }; + + if let Some(meta) = meta { + user.insert_meta(&mut db, &meta).await?; + } + } + let is_propagate: bool = match bm.get_handler() { Some(handler) => 'prop: { let ctx = match handler.context() {