From d1f1159c20793f3754cdc8ed01274e9eefe6318b Mon Sep 17 00:00:00 2001 From: Bizcochito Date: Fri, 6 Jan 2023 10:44:43 +0100 Subject: [PATCH] modified some stuff --- src/main.rs | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/src/main.rs b/src/main.rs index d80422c..4fbf432 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,40 +1,48 @@ -use std::fs; +use std::{fs, thread}; use tokio_xmpp::SimpleClient; -use xmpp_parsers::message::{Body, Message, MessageType}; +use xmpp_parsers::message::{Body, Message}; use xmpp_parsers::{Element, Jid}; const CREDS: &str = "creds"; - #[tokio::main] async fn main() { - let creds = fs::read_to_string(CREDS) - .expect("Should have been able to read the file"); + let creds = fs::read_to_string(CREDS).expect("Should have been able to read the file"); let mut creds = creds.lines(); - let (jid, password) = (creds.next().expect("No JID"), creds.next().expect("No Pass")); - let recipients = vec!["suguivy@fai.st", "bizcochito@fai.st", "bizcochito@cronut.cafe"]; + let (jid, password) = ( + creds.next().expect("No JID"), + creds.next().expect("No Pass"), + ); + let recipients = vec!["suguivy@fai.st"]; - xmp(jid, password, "Hi from the main", recipients).await; + xmp( + jid, + password, + format!("Hi from the {}", thread::current().name().unwrap()).as_str(), + recipients, + ) + .await; } async fn xmp(jid: &str, password: &str, data: &str, recipients: Vec<&str>) { let data = data.trim(); - if data.is_empty() {/* don't send empty stanzas*/ return;} - - let mut client = SimpleClient::new(jid, password).await.expect("could not connect to xmpp server"); - for recipient in recipients{ - let recipient = recipient.parse::().unwrap(); - let reply = make_reply(recipient.clone(), &data, false); - client.send_stanza(reply).await.expect("sending message failed"); - } + if data.is_empty() {return;} // don't send empty stanzas + let mut client = SimpleClient::new(jid, password) + .await + .expect("could not connect to xmpp server"); + for recipient in recipients { + let recipient = recipient.parse::().unwrap(); + let reply = make_reply(recipient.clone(), &data); + client + .send_stanza(reply) + .await + .expect("sending message failed"); + } // Close SimpleClient connection client.end().await.ok(); // ignore errors here, I guess } -fn make_reply(to: Jid, body: &str, groupchat: bool) -> Element { +fn make_reply(to: Jid, body: &str) -> Element { let mut message = Message::new(Some(to)); - if groupchat { - message.type_ = MessageType::Groupchat; - } message.bodies.insert(String::new(), Body(body.to_owned())); message.into() } \ No newline at end of file