use std::env;
use wechat_oa_sdk::{Config, WeChatClient};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let app_id = env::var("WECHAT_APP_ID").expect("WECHAT_APP_ID not set");
let app_secret = env::var("WECHAT_APP_SECRET").expect("WECHAT_APP_SECRET not set");
let token = env::var("WECHAT_TOKEN").unwrap_or_else(|_| "your_token".to_string());
let config = Config::new(app_id, app_secret, token);
let client = WeChatClient::new(config);
let access_token = client.access_token().await?;
println!("Access token: {}...", &access_token[..20]);
let ips = client.get_callback_ip_list().await?;
println!("WeChat callback IPs: {} addresses", ips.len());
let users = client.get_user_list(None).await?;
println!("Total followers: {}", users.total);
let tags = client.get_tags().await?;
println!("Tags: {:?}", tags.tags);
let draft_count = client.get_draft_count().await?;
println!("Drafts in box: {}", draft_count);
Ok(())
}