//! Демонстрация пересылки сообщения.
//!
//! # Запуск
//! ```bash
//! export MAXBOT_TOKEN="ваш_токен"
//! export CHAT_ID=-1234567890
//! cargo run --example forward-demo
//! ```

use maxbot::{MaxClient, SendMessageParamsBuilder};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let token = std::env::var("MAXBOT_TOKEN").expect("Missing MAXBOT_TOKEN");
    let chat_id = std::env::var("CHAT_ID")
        .expect("Missing CHAT_ID")
        .parse::<i64>()?;
    if let Ok(proxy_url) = std::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 original_mid = mids.first().expect("No message ID returned");
    println!("📤 Исходное сообщение отправлено, mid = {}", original_mid);

    // Пересылаем его в тот же чат
    let forwarded_mid = client.forward_message(
        Some(chat_id),
        None,
        original_mid,
        Some(true),
        None,
    ).await?;
    println!("📨 Сообщение переслано, новый mid = {}", forwarded_mid);

    Ok(())
}
