diff options
Diffstat (limited to 'filamento/examples/example.rs')
-rw-r--r-- | filamento/examples/example.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/filamento/examples/example.rs b/filamento/examples/example.rs new file mode 100644 index 0000000..f2b787b --- /dev/null +++ b/filamento/examples/example.rs @@ -0,0 +1,35 @@ +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("./filamentoa.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!("sending message"); + client + .send_message( + JID::from_str("cel@blos.sm").unwrap(), + filamento::chat::Body { + body: "hallo!!!".to_string(), + }, + ) + .await + .unwrap(); + println!("sent message"); +} |