slixmpp/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
2012-03-12 06:47:41 +00:00
from sleekxmpp.plugins import BasePlugin
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
2012-03-12 06:47:41 +00:00
class XEP_0184(BasePlugin):
2012-02-02 13:29:27 +00:00
"""
XEP-0184: Message Delivery Receipts
"""
2012-03-12 06:47:41 +00:00
name = 'xep_0184'
description = 'XEP-0184: Message Delivery Receipts'
dependencies = set(['xep_0030'])
stanza = stanza
2012-02-03 15:08:27 +00:00
2012-03-12 06:47:41 +00:00
def plugin_init(self):
2012-02-02 13:29:27 +00:00
register_stanza_plugin(Message, Request)
register_stanza_plugin(Message, Received)
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()