use maxbot::MaxClient;
use std::env;
use std::time::Duration;
const ACTIONS: &[&str] = &[
"typing_on",
"sending_photo",
"sending_video",
"sending_audio",
"sending_file",
"mark_seen",
];
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let token = env::var("MAXBOT_TOKEN").expect("Missing MAXBOT_TOKEN");
let chat_id: i64 = env::var("CHAT_ID")
.expect("Missing CHAT_ID")
.parse()?;
if let Ok(proxy_url) = env::var("MAXBOT_PROXY") {
maxbot::set_global_base_url(proxy_url);
}
let client = MaxClient::new(token);
println!("Отправляем последовательно действия бота в чат {}...\n", chat_id);
for action in ACTIONS {
print!("Действие: {:15} ", action);
match client.send_chat_action(chat_id, action).await {
Ok(()) => println!("✅ успешно"),
Err(e) => {
println!("❌ ошибка: {}", e);
if let maxbot::Error::Api { code, message } = &e {
println!(" Код ответа API: {}", code);
println!(" Сообщение: {}", message);
}
}
}
tokio::time::sleep(Duration::from_secs(7)).await;
}
println!("\nВсе действия отправлены.");
Ok(())
}