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 pass = env::var("PASS").unwrap();
13    let mut client = ClientBuilder::new(jid.clone())
14                                   .password(pass)
15                                   .connect()
16                                   .unwrap();
17    client.register_plugin(MessagingPlugin::new());
18    client.register_plugin(PresencePlugin::new());
19    client.plugin::<PresencePlugin>().set_presence(Show::Available, None).unwrap();
20    loop {
21        let event = client.next_event().unwrap();
22        if let Some(evt) = event.downcast::<MessageEvent>() {
23            println!("{:?}", evt);
24        }
25    }
26}