1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
From 65a09a04365692bc703616f7b6ae7d1c6a243102 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= <pep@bouah.net>
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 <pep@bouah.net>
---
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<Packet>,
- room_jid: Jid,
+ room_jid: BareJid,
}
impl Agent {
pub fn new(jid: &str, password: &str, muc_jid: &str) -> (Box<dyn Future<Item = (), Error = ()>>, 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
|