From 6e31fa86e613dd632329058f93c85f3cd7c12dc6 Mon Sep 17 00:00:00 2001 From: Akulij Date: Fri, 6 Jun 2025 03:32:27 +0500 Subject: [PATCH] create function that stores button parts and creates tg button wrapper --- src/utils.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/utils.rs b/src/utils.rs index 091cba2..a97e94c 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -66,6 +66,23 @@ where )) } +pub async fn callback_button( + name: &str, + callback_name: String, + callback_data: C, + db: &mut D, +) -> BotResult +where + C: Serialize + for<'a> Deserialize<'a> + Send + Sync, + D: CallDB + Send + Sync, +{ + let ci = CallbackInfo::new_with_literal(callback_data, callback_name) + .store(db) + .await?; + + Ok(InlineKeyboardButton::callback(name, ci.get_id())) +} + #[cfg(test)] mod tests { use super::*;