From b73a8590310c61c8d56b6a6f861c8666b4e71064 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Wed, 10 Nov 2010 04:56:38 +0800 Subject: [PATCH] Add a groupchat_subject event Use this event to get notified of the subject changes (or to get the subject of the room when joining one) --- sleekxmpp/plugins/xep_0045.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sleekxmpp/plugins/xep_0045.py b/sleekxmpp/plugins/xep_0045.py index de982356..db41cdb3 100644 --- a/sleekxmpp/plugins/xep_0045.py +++ b/sleekxmpp/plugins/xep_0045.py @@ -120,6 +120,7 @@ class xep_0045(base.base_plugin): registerStanzaPlugin(Presence, MUCPresence) self.xmpp.registerHandler(Callback('MUCPresence', MatchXMLMask("" % self.xmpp.default_ns), self.handle_groupchat_presence)) self.xmpp.registerHandler(Callback('MUCMessage', MatchXMLMask("" % self.xmpp.default_ns), self.handle_groupchat_message)) + self.xmpp.registerHandler(Callback('MUCSubject', MatchXMLMask("" % self.xmpp.default_ns), self.handle_groupchat_subject)) def handle_groupchat_presence(self, pr): """ Handle a presence in a muc. @@ -153,6 +154,12 @@ class xep_0045(base.base_plugin): self.xmpp.event('groupchat_message', msg) self.xmpp.event("muc::%s::message" % msg['from'].bare, msg) + def handle_groupchat_subject(self, msg): + """ Handle a message coming from a muc indicating + a change of subject (or announcing it when joining the room) + """ + self.xmpp.event('groupchat_subject', msg) + def jidInRoom(self, room, jid): for nick in self.rooms[room]: entry = self.rooms[room][nick]