diff options
author | mathieui <mathieui@mathieui.net> | 2020-12-06 21:28:40 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2020-12-06 21:29:11 +0100 |
commit | 11ac5867fff9b53b432793a834bf24a8bd3ff1e2 (patch) | |
tree | bc911f7c6747ece09c96151b13c30689ce54f44d /slixmpp/plugins/xep_0333/markers.py | |
parent | a61f2248fdc24dd85a286abc9032ea87628dd643 (diff) | |
download | slixmpp-11ac5867fff9b53b432793a834bf24a8bd3ff1e2.tar.gz slixmpp-11ac5867fff9b53b432793a834bf24a8bd3ff1e2.tar.bz2 slixmpp-11ac5867fff9b53b432793a834bf24a8bd3ff1e2.tar.xz slixmpp-11ac5867fff9b53b432793a834bf24a8bd3ff1e2.zip |
XEP-0333: Rename plugin file from "hints" to "markers"
Diffstat (limited to 'slixmpp/plugins/xep_0333/markers.py')
-rw-r--r-- | slixmpp/plugins/xep_0333/markers.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/slixmpp/plugins/xep_0333/markers.py b/slixmpp/plugins/xep_0333/markers.py new file mode 100644 index 00000000..5a3d3f9a --- /dev/null +++ b/slixmpp/plugins/xep_0333/markers.py @@ -0,0 +1,55 @@ +""" + slixmpp: The Slick XMPP Library + Copyright (C) 2016 Emmanuel Gil Peyrot + This file is part of slixmpp. + + See the file LICENSE for copying permission. +""" + +import logging + +from slixmpp import Message +from slixmpp.plugins import BasePlugin +from slixmpp.xmlstream import register_stanza_plugin +from slixmpp.xmlstream.handler import Callback +from slixmpp.xmlstream.matcher import StanzaPath +from slixmpp.plugins.xep_0333 import stanza, Markable, Received, Displayed, Acknowledged + +log = logging.getLogger(__name__) + +class XEP_0333(BasePlugin): + + name = 'xep_0333' + description = 'XEP-0333: Chat Markers' + stanza = stanza + + def plugin_init(self): + register_stanza_plugin(Message, Markable) + register_stanza_plugin(Message, Received) + register_stanza_plugin(Message, Displayed) + register_stanza_plugin(Message, Acknowledged) + + self.xmpp.register_handler( + Callback('Received Chat Marker', + StanzaPath('message/received'), + self._handle_received)) + self.xmpp.register_handler( + Callback('Displayed Chat Marker', + StanzaPath('message/displayed'), + self._handle_displayed)) + self.xmpp.register_handler( + Callback('Acknowledged Chat Marker', + StanzaPath('message/acknowledged'), + self._handle_acknowledged)) + + def _handle_received(self, message): + self.xmpp.event('marker_received', message) + self.xmpp.event('marker', message) + + def _handle_displayed(self, message): + self.xmpp.event('marker_displayed', message) + self.xmpp.event('marker', message) + + def _handle_acknowledged(self, message): + self.xmpp.event('marker_acknowledged', message) + self.xmpp.event('marker', message) |