1extern crate xmpp;
2
3use xmpp::jid::Jid;
4use xmpp::client::ClientBuilder;
5use xmpp::plugins::stanza::StanzaPlugin;
6use xmpp::plugins::messaging::{MessagingPlugin, MessageEvent};
7use xmpp::plugins::presence::{PresencePlugin, Type};
8use xmpp::plugins::ping::{PingPlugin, PingEvent};
9
10use std::env;
11
12fn main() {
13 let jid: Jid = env::var("JID").unwrap().parse().unwrap();
14 let pass = env::var("PASS").unwrap();
15 let mut client = ClientBuilder::new(jid.clone())
16 .password(pass)
17 .connect()
18 .unwrap();
19 client.register_plugin(StanzaPlugin::new());
20 client.register_plugin(MessagingPlugin::new());
21 client.register_plugin(PresencePlugin::new());
22 client.register_plugin(PingPlugin::new());
23 client.plugin::<PresencePlugin>().set_presence(Type::Available, None, None).unwrap();
24 client.main().unwrap();
25 /*loop {
26 let event = client.next_event().unwrap();
27 if let Some(evt) = event.downcast::<MessageEvent>() {
28 println!("{:?}", evt);
29 }
30 else if let Some(evt) = event.downcast::<PingEvent>() {
31 println!("{:?}", evt);
32 client.plugin::<PingPlugin>().reply_ping(evt);
33 }
34 }*/
35}