SleekXMPP/sleekxmpp/plugins/xep_0184/reciept.py

46 lines
1.2 KiB
Python
Raw Normal View History

2012-02-02 13:29:27 +00:00
"""
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2012 Erik Reuterborg Larsson, Nathanael C. Fritz
2012-02-02 13:29:27 +00:00
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
"""
from sleekxmpp.stanza import Message
from sleekxmpp.xmlstream import register_stanza_plugin
from sleekxmpp.plugins.base import base_plugin
2012-02-03 15:08:27 +00:00
from sleekxmpp.plugins.xep_0184 import stanza, Request, Received
2012-02-02 13:29:27 +00:00
class xep_0184(base_plugin):
"""
XEP-0184: Message Delivery Receipts
"""
def plugin_init(self):
self.xep = '0184'
self.description = 'Message Delivery Receipts'
2012-02-03 15:08:27 +00:00
self.stanza = stanza
2012-02-02 13:29:27 +00:00
register_stanza_plugin(Message, Request)
register_stanza_plugin(Message, Received)
def post_init(self):
base_plugin.post_init(self)
self.xmpp.plugin['xep_0030'].add_feature('urn:xmpp:receipts')
def ack(self, message):
"""
Acknowledges a message
Arguments:
message -- The message to acknowledge.
"""
mto = message['to']
mfrom = message['from']
mid = message['id']
msg = self.xmpp.make_message(mto=mfrom, mfrom=mto)
msg['reciept_received']['id'] = mid
msg['id'] = self.xmpp.new_id()
msg.send()