Expand support for XEP-0184.

New stanza interfaces:

    Adding a message receipt request:

        msg['request_receipt'] = True

    Adding a message receipt:

        msg['receipt'] = '123-24234'

    Retrieving the acked message ID:

        ack_id = msg['receipt']
        print(ack_id)
        '123-24234'

New configuration options:

    auto_ack:
        If True, auto reply to messages that request receipts.

        Defaults to True

    auto_request:
        If True, auto add receipt requests to appropriate outgoing
        messages.

        Defaults to False
This commit is contained in:
Lance Stout
2012-03-16 10:51:25 -07:00
parent 96ff2d43c0
commit 58e0f1e6c3
5 changed files with 173 additions and 65 deletions

View File

@@ -9,21 +9,30 @@ class TestReciept(SleekTest):
register_stanza_plugin(Message, xep_0184.Received)
def testCreateRequest(self):
request = """<message><request xmlns="urn:xmpp:receipts" /></message>"""
request = """
<message>
<request xmlns="urn:xmpp:receipts" />
</message>
"""
msg = self.Message()
self.assertEqual(msg['request_reciept'], False)
self.assertEqual(msg['request_receipt'], False)
msg['request_reciept'] = True
self.check(msg, request, use_values=False)
msg['request_receipt'] = True
self.check(msg, request)
def testCreateReceived(self):
received = """<message><received xmlns="urn:xmpp:receipts" id="1"/></message>"""
received = """
<message>
<received xmlns="urn:xmpp:receipts" id="1" />
</message>
"""
msg = self.Message()
msg['reciept_received']['id'] = '1'
msg['receipt'] = '1'
self.check(msg, received)
suite = unittest.TestLoader().loadTestsFromTestCase(TestReciept)