xmpp-rs-mirror/examples/client.rs

26 lines
892 B
Rust
Raw Normal View History

2017-02-18 23:01:51 +00:00
extern crate xmpp;
use xmpp::jid::Jid;
use xmpp::client::ClientBuilder;
2017-02-20 15:28:51 +00:00
use xmpp::plugins::messaging::{MessagingPlugin, MessageEvent};
use xmpp::plugins::presence::{PresencePlugin, Show};
2017-02-24 16:16:51 +00:00
use xmpp::sasl::mechanisms::Plain;
2017-02-18 23:01:51 +00:00
use std::env;
fn main() {
let jid: Jid = env::var("JID").unwrap().parse().unwrap();
2017-02-24 16:16:51 +00:00
let mut client = ClientBuilder::new(jid.clone()).connect().unwrap();
2017-02-20 15:28:51 +00:00
client.register_plugin(MessagingPlugin::new());
client.register_plugin(PresencePlugin::new());
2017-02-24 16:16:51 +00:00
let pass = env::var("PASS").unwrap();
client.connect(&mut Plain::new(jid.node.clone().expect("JID requires a node"), pass)).unwrap();
2017-02-20 15:28:51 +00:00
client.plugin::<PresencePlugin>().set_presence(Show::Available, None).unwrap();
loop {
let event = client.next_event().unwrap();
if let Some(evt) = event.downcast::<MessageEvent>() {
println!("{:?}", evt);
}
}
2017-02-18 23:01:51 +00:00
}