use tbot::{
prelude::*,
types::keyboard::inline::{Button, ButtonKind},
Bot,
};
const TUTORIAL: &str = "https://gitlab.com/SnejUgal/tbot/wikis/Tutorial";
const KEYBOARD: &[&[Button]] = &[
&[
Button::new("Cool!", ButtonKind::CallbackData("cool")),
Button::new("Amazing!", ButtonKind::CallbackData("amazing")),
],
&[Button::new(
"I wanna get started with it!",
ButtonKind::Url(TUTORIAL),
)],
];
#[tokio::main]
async fn main() {
let mut bot = Bot::from_env("BOT_TOKEN").event_loop();
bot.command("keyboard", |context| async move {
let call_result = context
.send_message("This is a keyboard done with tbot!")
.reply_markup(KEYBOARD)
.call()
.await;
if let Err(err) = call_result {
dbg!(err);
}
});
bot.data_callback(|context| async move {
let message = match context.data.as_str() {
"cool" => "You're cool too!",
"amazing" => "Thanks, I'm trying!",
_ => "Are you trying to hack me?",
};
let call_result = context.notify(message).call().await;
if let Err(err) = call_result {
dbg!(err);
}
});
bot.polling().start().await.unwrap();
}