diff options
author | 2025-04-03 03:41:38 +0100 | |
---|---|---|
committer | 2025-04-03 03:41:38 +0100 | |
commit | 91f1994af940085d5d475a97820900ebbf0eb553 (patch) | |
tree | 6aab872f71d17a785d3d9286742fef38983d274c /stanza/src/client/message.rs | |
parent | 9ce3827a7d25714d17f266f0f50bb29f41090175 (diff) | |
download | luz-91f1994af940085d5d475a97820900ebbf0eb553.tar.gz luz-91f1994af940085d5d475a97820900ebbf0eb553.tar.bz2 luz-91f1994af940085d5d475a97820900ebbf0eb553.zip |
feat: better message handling, pep publish, xep_0172: nick
Diffstat (limited to 'stanza/src/client/message.rs')
-rw-r--r-- | stanza/src/client/message.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/stanza/src/client/message.rs b/stanza/src/client/message.rs index e521613..d94b82e 100644 --- a/stanza/src/client/message.rs +++ b/stanza/src/client/message.rs @@ -8,12 +8,14 @@ use peanuts::{ #[cfg(feature = "xep_0131")] use crate::xep_0131::Headers; +#[cfg(feature = "xep_0172")] +use crate::xep_0172::Nick; #[cfg(feature = "xep_0203")] use crate::xep_0203::Delay; use super::XMLNS; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct Message { pub from: Option<JID>, pub id: Option<String>, @@ -29,6 +31,8 @@ pub struct Message { pub delay: Option<Delay>, #[cfg(feature = "xep_0131")] pub headers: Option<Headers>, + #[cfg(feature = "xep_0172")] + pub nick: Option<Nick>, } impl FromElement for Message { @@ -52,6 +56,9 @@ impl FromElement for Message { #[cfg(feature = "xep_0131")] let headers = element.child_opt()?; + #[cfg(feature = "xep_0172")] + let nick = element.child_opt()?; + Ok(Message { from, id, @@ -65,6 +72,8 @@ impl FromElement for Message { delay, #[cfg(feature = "xep_0131")] headers, + #[cfg(feature = "xep_0172")] + nick, }) } } @@ -93,6 +102,9 @@ impl IntoElement for Message { #[cfg(feature = "xep_0131")] let builder = builder.push_child_opt(self.headers.clone()); + #[cfg(feature = "xep_0172")] + let builder = builder.push_child_opt(self.nick.clone()); + builder } } @@ -137,6 +149,7 @@ impl ToString for MessageType { #[derive(Clone, Debug)] pub struct Body { pub lang: Option<String>, + // TODO: string stuff pub body: Option<String>, } |