#![allow(clippy::print_stdout)]
use std::env;
use blooio::Client;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::new(env::var("BLOOIO_API_KEY").unwrap_or_else(|_| "sk_demo_key".into()))?;
let chat = client.chat(env::var("CHAT_ID").unwrap_or_else(|_| "chat_demo".into()));
let message = chat
.message()
.text("Launch is live 🚀")
.effect("slam")
.use_typing_indicator(true)
.idempotency_key("launch-announcement-2026-05-19");
let sent = chat.send(message).await?;
println!("sent: {:?}", sent.ids());
if let Some(id) = sent.ids().first() {
let reaction = chat.add_reaction(*id, "love", None).await?;
println!("reaction applied: {reaction:?}");
}
let poll = chat
.send_poll(
Some("Ship it?".into()),
vec!["Yes".into(), "Needs work".into()],
)
.await?;
println!("poll sent: {poll:?}");
Ok(())
}