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"); +} | 
