use std::collections::HashMap;
mod common;
#[tokio::main]
async fn main() {
let c = common::Config::load().await;
let convos = egg_mode::direct::list(&c.token)
.into_conversations()
.await
.unwrap();
let mut users = HashMap::new();
for (id, convo) in &convos {
let user = egg_mode::user::show(*id, &c.token).await.unwrap();
println!("-----");
println!("Conversation with @{}:", user.screen_name);
for msg in convo {
if !users.contains_key(&msg.sender_id) {
let sender = egg_mode::user::show(msg.sender_id, &c.token).await.unwrap();
users.insert(msg.sender_id, sender);
}
let sender = &users[&msg.sender_id];
println!(
"--@{} sent at {}:",
sender.screen_name,
msg.created_at.with_timezone(&chrono::Local)
);
println!(" {}", msg.text);
}
println!("");
}
}