From 65a09a04365692bc703616f7b6ae7d1c6a243102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Fri, 6 Sep 2019 00:00:52 +0200 Subject: [PATCH 5/6] Update xmpp-parsers to 0.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- Cargo.toml | 2 +- src/xmpp.rs | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5c72a9b..f64896f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,6 @@ pretty_env_logger = "0.3" serde_json = "1.0" tokio = "0.1" tokio-xmpp = "1" -xmpp-parsers = "0.12" +xmpp-parsers = "0.14" gitlab = "0.1104" clap = "2.32" diff --git a/src/xmpp.rs b/src/xmpp.rs index d6b8f66..b636074 100644 --- a/src/xmpp.rs +++ b/src/xmpp.rs @@ -2,19 +2,19 @@ use std::str::FromStr; use std::convert::TryFrom; use futures::{Future, Sink, Stream, sync::mpsc}; use tokio_xmpp::{Client, Packet, Event}; -use xmpp_parsers::{Jid, Element}; +use xmpp_parsers::{Jid, BareJid, Element}; use xmpp_parsers::message::{Body, Message, MessageType}; use xmpp_parsers::presence::{Presence, Show as PresenceShow, Type as PresenceType}; use xmpp_parsers::muc::Muc; pub struct Agent { sender_tx: mpsc::UnboundedSender, - room_jid: Jid, + room_jid: BareJid, } impl Agent { pub fn new(jid: &str, password: &str, muc_jid: &str) -> (Box>, Self) { - let muc_jid = Jid::from_str(muc_jid).unwrap(); + let muc_jid = BareJid::from_str(muc_jid).unwrap(); let (sender_tx, sender_rx) = mpsc::unbounded(); let client = Client::new(jid, password).unwrap(); @@ -23,7 +23,6 @@ impl Agent { let reader = { let sender_tx = sender_tx.clone(); let muc_jid = muc_jid.clone(); - let muc_jid_str = format!("{}", muc_jid); let jid = jid.to_owned(); stream.for_each(move |event| { match event { @@ -65,7 +64,7 @@ impl Agent { .map_err(|_| ()); let agent = Agent { - room_jid: muc_jid.clone().into_bare_jid(), + room_jid: muc_jid.clone(), sender_tx, }; @@ -73,7 +72,7 @@ impl Agent { } pub fn send_room_text(&mut self, text: String) { - let mut message = Message::new(Some(self.room_jid.clone())); + let mut message = Message::new(Some(Jid::Bare(self.room_jid.clone()))); message.type_ = MessageType::Groupchat; message.bodies.insert("".to_string(), Body(text)); self.sender_tx.unbounded_send(Packet::Stanza(message.into())) @@ -81,9 +80,9 @@ impl Agent { } } -fn make_join_presence(muc_jid: Jid) -> Element { +fn make_join_presence(muc_jid: BareJid) -> Element { let mut presence = Presence::new(PresenceType::None) - .with_to(Some(muc_jid)) + .with_to(Some(Jid::Bare(muc_jid))) .with_show(PresenceShow::Chat); presence.set_status("en".to_string(), "Your friendly Webhook spammer".to_string()); presence.add_payload(Muc::new()); -- 2.23.0