mirror of
https://gitlab.com/xmpp-rs/xmpp-rs.git
synced 2024-07-12 22:21:53 +00:00
Implement Event::RoomSubject for room subject changes/retrieve
This commit is contained in:
parent
51f2462772
commit
4f8ce0a953
2 changed files with 10 additions and 0 deletions
|
@ -24,6 +24,11 @@ pub enum Event {
|
||||||
RoomJoined(BareJid),
|
RoomJoined(BareJid),
|
||||||
RoomLeft(BareJid),
|
RoomLeft(BareJid),
|
||||||
RoomMessage(Id, BareJid, RoomNick, Body),
|
RoomMessage(Id, BareJid, RoomNick, Body),
|
||||||
|
/// The subject of a room was received.
|
||||||
|
/// - The BareJid is the room's address.
|
||||||
|
/// - The RoomNick is the nickname of the room member who set the subject.
|
||||||
|
/// - The String is the new subject.
|
||||||
|
RoomSubject(BareJid, Option<RoomNick>, String),
|
||||||
/// A private message received from a room, containing the message ID, the room's BareJid,
|
/// A private message received from a room, containing the message ID, the room's BareJid,
|
||||||
/// the sender's nickname, and the message body.
|
/// the sender's nickname, and the message body.
|
||||||
RoomPrivateMessage(Id, BareJid, RoomNick, Body),
|
RoomPrivateMessage(Id, BareJid, RoomNick, Body),
|
||||||
|
|
|
@ -15,6 +15,11 @@ pub async fn handle_message_group_chat(
|
||||||
message: &Message,
|
message: &Message,
|
||||||
) {
|
) {
|
||||||
let langs: Vec<&str> = agent.lang.iter().map(String::as_str).collect();
|
let langs: Vec<&str> = agent.lang.iter().map(String::as_str).collect();
|
||||||
|
|
||||||
|
if let Some((_lang, subject)) = message.get_best_subject(langs.clone()) {
|
||||||
|
events.push(Event::RoomSubject(from.to_bare(), from.resource_str().map(String::from), subject.0.clone()));
|
||||||
|
}
|
||||||
|
|
||||||
if let Some((_lang, body)) = message.get_best_body(langs) {
|
if let Some((_lang, body)) = message.get_best_body(langs) {
|
||||||
let event = match from.clone() {
|
let event = match from.clone() {
|
||||||
Jid::Full(full) => Event::RoomMessage(
|
Jid::Full(full) => Event::RoomMessage(
|
||||||
|
|
Loading…
Reference in a new issue