From 2b11d81b861711810e4cc822866099a3df960778 Mon Sep 17 00:00:00 2001 From: mathieui Date: Tue, 12 Jan 2021 20:29:27 +0100 Subject: [PATCH] XEP-0045: Add a groupchat_join MUC event for components --- slixmpp/plugins/xep_0045/muc.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/slixmpp/plugins/xep_0045/muc.py b/slixmpp/plugins/xep_0045/muc.py index 7a600059..905e0f49 100644 --- a/slixmpp/plugins/xep_0045/muc.py +++ b/slixmpp/plugins/xep_0045/muc.py @@ -91,6 +91,14 @@ class XEP_0045(BasePlugin): StanzaPath("presence/muc"), self.handle_groupchat_presence, )) + if self.xmpp.is_component: + self.xmpp.register_handler( + Callback( + 'MUCPresenceJoin', + StanzaPath("presence/muc_join"), + self.handle_groupchat_join, + )) + self.xmpp.register_handler( Callback( 'MUCError', @@ -189,6 +197,10 @@ class XEP_0045(BasePlugin): else: self.client_handle_presence(pr) + def handle_groupchat_join(self, pr: Presence): + """Received a join presence (as a component)""" + self.xmpp.event('groupchat_join', pr) + def handle_groupchat_message(self, msg: Message) -> None: """ Handle a message event in a muc. """