diff options
author | Link Mauve <linkmauve@linkmauve.fr> | 2020-12-12 14:51:25 +0100 |
---|---|---|
committer | Link Mauve <linkmauve@linkmauve.fr> | 2020-12-12 14:51:25 +0100 |
commit | 6773dc4409d5a8b304b296336090275703ba4687 (patch) | |
tree | 806b70da6a08f1569b575283c6335f5948a44939 /slixmpp/plugins | |
parent | 71888b24a6d88c0396a08f5c8a28a79aa28e3669 (diff) | |
parent | bf17c3270524fcec308be953681a4c5b75777755 (diff) | |
download | slixmpp-6773dc4409d5a8b304b296336090275703ba4687.tar.gz slixmpp-6773dc4409d5a8b304b296336090275703ba4687.tar.bz2 slixmpp-6773dc4409d5a8b304b296336090275703ba4687.tar.xz slixmpp-6773dc4409d5a8b304b296336090275703ba4687.zip |
Merge branch 'fix-moderation' into 'master'
XEP-0425: small fix & integration test
See merge request poezio/slixmpp!86
Diffstat (limited to 'slixmpp/plugins')
-rw-r--r-- | slixmpp/plugins/xep_0425/moderation.py | 11 | ||||
-rw-r--r-- | slixmpp/plugins/xep_0425/stanza.py | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/slixmpp/plugins/xep_0425/moderation.py b/slixmpp/plugins/xep_0425/moderation.py index e840d80d..6f67806b 100644 --- a/slixmpp/plugins/xep_0425/moderation.py +++ b/slixmpp/plugins/xep_0425/moderation.py @@ -9,6 +9,8 @@ from typing import Optional from slixmpp import JID, Message from slixmpp.exceptions import IqError, IqTimeout +from slixmpp.xmlstream.handler import Callback +from slixmpp.xmlstream.matcher import StanzaPath from slixmpp.plugins import BasePlugin from slixmpp.plugins.xep_0425 import stanza @@ -24,10 +26,19 @@ class XEP_0425(BasePlugin): def plugin_init(self) -> None: stanza.register_plugins() + self.xmpp.register_handler(Callback( + 'Moderated Message', + StanzaPath('message/apply_to/moderated/retract'), + self._handle_moderated, + )) def session_bind(self, jid): self.xmpp.plugin['xep_0030'].add_feature(feature=stanza.NS) + def _handle_moderated(self, message: Message): + if message['type'] == 'groupchat': + self.xmpp.event('moderated_message', message) + def plugin_end(self): self.xmpp.plugin['xep_0030'].del_feature(feature=stanza.NS) diff --git a/slixmpp/plugins/xep_0425/stanza.py b/slixmpp/plugins/xep_0425/stanza.py index 9b756953..566b1d09 100644 --- a/slixmpp/plugins/xep_0425/stanza.py +++ b/slixmpp/plugins/xep_0425/stanza.py @@ -42,5 +42,6 @@ def register_plugins(): register_stanza_plugin(Message, Moderated) register_stanza_plugin(ApplyTo, Moderated) + register_stanza_plugin(Moderated, Retract) register_stanza_plugin(Moderated, Retracted) register_stanza_plugin(Moderated, OccupantId) |