Skip to content

Commit 6deee64

Browse files
authored
feat: add robot.templatesendjobfinish_event (#544)
* add robot.templatesendjobfinish_event to werobot/robot.py. * add tests about robot.templatesendjobfinish_event * add robot.templatesendjobfinish_event document in handlers.rst
1 parent c5f194e commit 6deee64

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

docs/handlers.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ WeRoBot会将合法的请求发送给 handlers 依次执行。
8989
:func:`robot.update_member_card <werobot.robot.BaseRoBot.update_member_card>` 会员卡积分余额发生变动 (Event)
9090
:func:`robot.card_sku_remind <werobot.robot.BaseRoBot.card_sku_remind>` 库存警告 (Event)
9191
:func:`robot.card_pay_order <werobot.robot.BaseRoBot.card_pay_order>` 券点发生变动 (Event)
92+
:func:`robot.templatesendjobfinish_event <werobot.robot.BaseRoBot.templatesendjobfinish_event>` 模板信息推送事件 (Event)
9293
:func:`robot.submit_membercard_user_info <werobot.robot.BaseRoBot.submit_membercard_user_info>` 激活卡券 (Event)
9394
:func:`robot.location_event <werobot.robot.BaseRoBot.location_event>` 上报位置 (Event)
9495
:func:`robot.unknown_event <werobot.robot.BaseRoBot.unknown_event>` 未知类型 (Event)

tests/test_handler.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,31 @@ def submit_membercard_user_info():
675675
assert reply._args['content'] == u'现在醒一醒还来得及'
676676

677677

678+
def test_templatesendjobfinish_event_handler():
679+
@werobot.templatesendjobfinish_event
680+
def templatesendjobfinish_event():
681+
return '喵喵~模板消息已经推送'
682+
683+
message = parse_user_msg(
684+
"""
685+
<xml>
686+
<ToUserName><![CDATA[gh_7f083739789a]]></ToUserName>
687+
<FromUserName><![CDATA[oia2TjuEGTNoeX76QEjQNrcURxG8]]></FromUserName>
688+
<CreateTime>1395658920</CreateTime>
689+
<MsgType><![CDATA[event]]></MsgType>
690+
<Event><![CDATA[TEMPLATESENDJOBFINISH]]></Event>
691+
<MsgID>200163836</MsgID>
692+
<Status><![CDATA[success]]></Status>
693+
</xml>
694+
"""
695+
)
696+
697+
reply = werobot.get_reply(message)
698+
699+
assert isinstance(reply, TextReply)
700+
assert reply._args['content'] == u'喵喵~模板消息已经推送'
701+
702+
678703
def test_unknown_event():
679704
@werobot.unknown_event
680705
def unknown_event(message):

tests/test_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -862,7 +862,7 @@ def test_location_event():
862862
assert message.precision == 119.385040
863863

864864

865-
def test_template_send_job_finish_event():
865+
def test_templatesendjobfinish_event():
866866
message = parse_user_msg(
867867
"""
868868
<xml>

werobot/robot.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class BaseRoBot(object):
7979
'update_member_card_event',
8080
'card_sku_remind_event',
8181
'card_pay_order_event',
82+
'templatesendjobfinish_event',
8283
'submit_membercard_user_info_event', # event
8384
'text',
8485
'image',
@@ -455,6 +456,12 @@ def submit_membercard_user_info(self, f):
455456
self.add_handler(f, type='submit_membercard_user_info_event')
456457
return f
457458

459+
def templatesendjobfinish_event(self, f):
460+
"""在模版消息发送任务完成后,微信服务器会将是否送达成功作为通知,发送到开发者中心中填写的服务器配置地址中
461+
"""
462+
self.add_handler(f, type='templatesendjobfinish_event')
463+
return f
464+
458465
def unknown_event(self, f):
459466
"""
460467
为未知类型 ``(unknown_event)`` 事件添加一个 handler 方法的装饰器。

0 commit comments

Comments
 (0)