use maxbot::{MaxClient, SendMessageParamsBuilder};
use std::env;
use std::time::Duration;
#[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);
let builder = SendMessageParamsBuilder::new()
.text("Это сообщение будет закреплено, а затем откреплено.")
.chat_id(chat_id);
let mids = client.send_message_builder(builder).await?;
let message_mid = mids.first().expect("Не получен MID сообщения");
println!("📨 Сообщение отправлено, MID = {}", message_mid);
tokio::time::sleep(Duration::from_secs(1)).await;
println!("📌 Закрепляем сообщение...");
match client.pin_message(chat_id, message_mid).await {
Ok(()) => println!("✅ Сообщение закреплено."),
Err(e) => {
eprintln!("❌ Ошибка при закреплении: {}", e);
return Err(e.into());
}
}
println!("Ждём 5 секунд...");
tokio::time::sleep(Duration::from_secs(5)).await;
println!("📍 Открепляем сообщение...");
match client.unpin_message(chat_id).await {
Ok(()) => println!("✅ Сообщение откреплено."),
Err(e) => {
eprintln!("❌ Ошибка при откреплении: {}", e);
return Err(e.into());
}
}
Ok(())
}