diff options
author | Allan Simon <simona@gobeta.com.cn> | 2014-01-31 18:54:59 +0800 |
---|---|---|
committer | Allan Simon <simona@gobeta.com.cn> | 2014-01-31 18:54:59 +0800 |
commit | eb6ac68d5c8f323ef7036a4daf4e3cc0e55bfc85 (patch) | |
tree | 7316c6feb01dbdc40d6ebb9dd9d30d973d17553a /sleekxmpp | |
parent | 848e6ebd8329b8e3fec4d770794361b39d2aaa69 (diff) | |
download | slixmpp-eb6ac68d5c8f323ef7036a4daf4e3cc0e55bfc85.tar.gz slixmpp-eb6ac68d5c8f323ef7036a4daf4e3cc0e55bfc85.tar.bz2 slixmpp-eb6ac68d5c8f323ef7036a4daf4e3cc0e55bfc85.tar.xz slixmpp-eb6ac68d5c8f323ef7036a4daf4e3cc0e55bfc85.zip |
close #276, now we trigger 'groupchat_message_error' and muc::ROOM::message_error when we receive a message type=error from the server
Diffstat (limited to 'sleekxmpp')
-rw-r--r-- | sleekxmpp/plugins/xep_0045.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0045.py b/sleekxmpp/plugins/xep_0045.py index 6e3f10a9..9587fa1a 100644 --- a/sleekxmpp/plugins/xep_0045.py +++ b/sleekxmpp/plugins/xep_0045.py @@ -126,6 +126,7 @@ class XEP_0045(BasePlugin): # load MUC support in presence stanzas register_stanza_plugin(Presence, MUCPresence) self.xmpp.register_handler(Callback('MUCPresence', MatchXMLMask("<presence xmlns='%s' />" % self.xmpp.default_ns), self.handle_groupchat_presence)) + self.xmpp.register_handler(Callback('MUCError', MatchXMLMask("<message xmlns='%s' type='error'><error/></message>" % self.xmpp.default_ns), self.handle_groupchat_error_message)) self.xmpp.register_handler(Callback('MUCMessage', MatchXMLMask("<message xmlns='%s' type='groupchat'><body/></message>" % self.xmpp.default_ns), self.handle_groupchat_message)) self.xmpp.register_handler(Callback('MUCSubject', MatchXMLMask("<message xmlns='%s' type='groupchat'><subject/></message>" % self.xmpp.default_ns), self.handle_groupchat_subject)) self.xmpp.register_handler(Callback('MUCConfig', MatchXMLMask("<message xmlns='%s' type='groupchat'><x xmlns='http://jabber.org/protocol/muc#user'><status/></x></message>" % self.xmpp.default_ns), self.handle_config_change)) @@ -179,6 +180,14 @@ class XEP_0045(BasePlugin): self.xmpp.event('groupchat_message', msg) self.xmpp.event("muc::%s::message" % msg['from'].bare, msg) + def handle_groupchat_error_message(self, msg): + """ Handle a message error event in a muc. + """ + self.xmpp.event('groupchat_message_error', msg) + self.xmpp.event("muc::%s::message_error" % 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) |