use std::{path::Path, str::FromStr, time::Duration}; use filamento::{Client, db::Db}; use jid::JID; use tracing::info; #[tokio::main] async fn main() { tracing_subscriber::fmt::init(); let db = Db::create_connect_and_migrate(Path::new("./filamento.db")) .await .unwrap(); let (client, mut recv) = Client::new("test@blos.sm".try_into().unwrap(), "slayed".to_string(), db); tokio::spawn(async move { while let Some(msg) = recv.recv().await { info!("{:#?}", msg) } }); client.connect().await.unwrap(); tokio::time::sleep(Duration::from_secs(5)).await; info!("changing nick"); client.change_nick("britney".to_string()).await.unwrap(); info!("sending message"); client .send_message( JID::from_str("cel@blos.sm").unwrap(), filamento::chat::Body { body: "hallo!!!".to_string(), }, ) .await .unwrap(); info!("sent message"); tokio::time::sleep(Duration::from_secs(5)).await; // info!("sending disco query"); // let info = client.disco_info(None, None).await.unwrap(); // info!("got disco result: {:#?}", info); // let items = client.disco_items(None, None).await.unwrap(); // info!("got disco result: {:#?}", items); // let info = client // .disco_info(Some("blos.sm".parse().unwrap()), None) // .await // .unwrap(); // info!("got disco result: {:#?}", info); // let items = client // .disco_items(Some("blos.sm".parse().unwrap()), None) // .await // .unwrap(); // info!("got disco result: {:#?}", items); // let info = client // .disco_info(Some("pubsub.blos.sm".parse().unwrap()), None) // .await // .unwrap(); // info!("got disco result: {:#?}", info); // let items = client // .disco_items(Some("pubsub.blos.sm".parse().unwrap()), None) // .await // .unwrap(); // info!("got disco result: {:#?}", items); }