Source code for slixmpp.plugins.xep_0308.correction
# Slixmpp: The Slick XMPP Library# Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout# This file is part of Slixmpp.# See the file LICENSE for copying permissioimportloggingfromslixmpp.stanzaimportMessagefromslixmpp.xmlstream.handlerimportCallbackfromslixmpp.xmlstream.matcherimportStanzaPathfromslixmpp.xmlstreamimportregister_stanza_pluginfromslixmpp.pluginsimportBasePluginfromslixmpp.plugins.xep_0308importstanza,Replacelog=logging.getLogger(__name__)
[docs]classXEP_0308(BasePlugin):""" XEP-0308 Last Message Correction """name='xep_0308'description='XEP-0308: Last Message Correction'dependencies={'xep_0030'}stanza=stanzadefplugin_init(self):self.xmpp.register_handler(Callback('Message Correction',StanzaPath('message/replace'),self._handle_correction))register_stanza_plugin(Message,Replace)self.xmpp.use_message_ids=Truedefplugin_end(self):self.xmpp.remove_handler('Message Correction')self.xmpp.plugin['xep_0030'].del_feature(feature=Replace.namespace)defsession_bind(self,jid):self.xmpp.plugin['xep_0030'].add_feature(Replace.namespace)defis_correction(self,msg:Message):returnmsg.xml.find('{%s}replace'%Replace.namespace)isnotNonedef_handle_correction(self,msg:Message):self.xmpp.event('message_correction',msg)