client.rs

 1extern crate xmpp;
 2
 3use xmpp::jid::Jid;
 4use xmpp::client::ClientBuilder;
 5use xmpp::plugins::messaging::{MessagingPlugin, MessageEvent};
 6use xmpp::plugins::presence::{PresencePlugin, Show};
 7
 8use std::env;
 9
10fn main() {
11    let jid: Jid = env::var("JID").unwrap().parse().unwrap();
12    let mut client = ClientBuilder::new(jid).connect().unwrap();
13    client.register_plugin(MessagingPlugin::new());
14    client.register_plugin(PresencePlugin::new());
15    client.connect_plain(&env::var("PASS").unwrap()).unwrap();
16    client.plugin::<PresencePlugin>().set_presence(Show::Available, None).unwrap();
17    loop {
18        let event = client.next_event().unwrap();
19        if let Some(evt) = event.downcast::<MessageEvent>() {
20            println!("{:?}", evt);
21        }
22    }
23}