• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python wechatpy.parse_message函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中wechatpy.parse_message函数的典型用法代码示例。如果您正苦于以下问题:Python parse_message函数的具体用法?Python parse_message怎么用?Python parse_message使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了parse_message函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_parse_subscribe_scan_product_event

    def test_parse_subscribe_scan_product_event(self):
        from wechatpy.events import SubscribeScanProductEvent

        xml = """<xml>
        <ToUserName><![CDATA[gh_fbe8a958756e]]></ToUserName>
        <FromUserName><![CDATA[otAzGjrS4AYCmeJM1GhEOcHXXTAo]]></FromUserName>
        <CreateTime>1433259128</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[subscribe]]></Event>
        <EventKey><![CDATA[scanbarcode|keystandard|keystr]]></EventKey>
        </xml>"""

        msg = parse_message(xml)
        self.assertTrue(isinstance(msg, SubscribeScanProductEvent))
        self.assertEqual('scanbarcode', msg.scene)
        self.assertEqual('keystandard', msg.standard)
        self.assertEqual('keystr', msg.key)

        xml = """<xml>
        <ToUserName><![CDATA[gh_fbe8a958756e]]></ToUserName>
        <FromUserName><![CDATA[otAzGjrS4AYCmeJM1GhEOcHXXTAo]]></FromUserName>
        <CreateTime>1433259128</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[subscribe]]></Event>
        <EventKey><![CDATA[scanimage|keystandard|keystr]]></EventKey>
        </xml>"""

        msg = parse_message(xml)
        self.assertTrue(isinstance(msg, SubscribeScanProductEvent))
        self.assertEqual('scanimage', msg.scene)
        self.assertEqual('keystandard', msg.standard)
        self.assertEqual('keystr', msg.key)
开发者ID:Brightcells,项目名称:wechatpy,代码行数:32,代码来源:test_parser.py


示例2: message_entries

def message_entries():
    signature = request.args.get('signature', '')
    timestamp = request.args.get('timestamp', '')
    nonce = request.args.get('nonce', '')
    encrypt_type = request.args.get('encrypt_type', 'raw')
    msg_signature = request.args.get('msg_signature', '')
    try:
        check_signature(Config.TOKEN, signature, timestamp, nonce)
    except InvalidSignatureException:
        abort(403)
    # 微信验证
    if request.method == 'GET':
        echo_str = request.args.get('echostr', '')
        return echo_str

    # POST request
    if encrypt_type == 'raw':
        # plaintext mode
        msg = parse_message(request.data)
        # 事件处理
        if msg.type == 'event':
            # 关注事件
            if msg.event == 'subscribe':
                mfc = MenuFunc(msg.source)
                mfc.subscribecreatemenu()
            reply = create_reply(msg.event, msg)
        elif msg.type == 'text':
            reply = create_reply(msg.content, msg)
        elif msg.type == 'image':
            reply = create_reply('对不起,暂时不支持图片消息', msg)
        else:
            reply = create_reply(msg.type, msg)
        return reply.render()
    else:
        # encryption mode
        from wechatpy.crypto import WeChatCrypto

        crypto = WeChatCrypto(Config.TOKEN, Config.AES_KEY, Config.APPID)
        try:
            msg = crypto.decrypt_message(
                request.data,
                msg_signature,
                timestamp,
                nonce
            )
        except (InvalidSignatureException, InvalidAppIdException):
            abort(403)
        else:
            msg = parse_message(msg)
            if msg.type == 'text':
                reply = create_reply(msg.content, msg)
            else:
                reply = create_reply('Sorry, can not handle this for now', msg)
            return crypto.encrypt_message(reply.render(), nonce, timestamp)
开发者ID:ZhaoXianglin,项目名称:XiWechat,代码行数:54,代码来源:Message.py


示例3: test_location_select_event

    def test_location_select_event(self):
        from wechatpy.events import LocationSelectEvent

        xml = """<xml>
        <ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
        <FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
        <CreateTime>1408091189</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[location_select]]></Event>
        <EventKey><![CDATA[6]]></EventKey>
        <SendLocationInfo><Location_X><![CDATA[23]]></Location_X>
        <Location_Y><![CDATA[113]]></Location_Y>
        <Scale><![CDATA[15]]></Scale>
        <Label><![CDATA[广州市海珠区客村艺苑路 106号]]></Label>
        <Poiname><![CDATA[]]></Poiname>
        </SendLocationInfo>
        </xml>"""

        event = parse_message(xml)

        self.assertTrue(isinstance(event, LocationSelectEvent))
        self.assertEqual(('23', '113'), event.location)
        self.assertEqual('15', event.scale)
        self.assertTrue(event.poiname is None)
        self.assertEqual('广州市海珠区客村艺苑路 106号', event.label)
开发者ID:lihuimail,项目名称:wechatpy,代码行数:25,代码来源:test_events.py


示例4: test_pic_photo_or_album_event

    def test_pic_photo_or_album_event(self):
        from wechatpy.events import PicPhotoOrAlbumEvent

        xml = """<xml>
        <ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
        <FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
        <CreateTime>1408090816</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[pic_photo_or_album]]></Event>
        <EventKey><![CDATA[6]]></EventKey>
        <SendPicsInfo><Count>1</Count>
        <PicList>
        <item>
        <PicMd5Sum><![CDATA[5a75aaca956d97be686719218f275c6b]]></PicMd5Sum>
        </item>
        </PicList>
        </SendPicsInfo>
        </xml>"""

        event = parse_message(xml)

        self.assertTrue(isinstance(event, PicPhotoOrAlbumEvent))
        self.assertEqual(1, event.count)
        self.assertEqual(
            '5a75aaca956d97be686719218f275c6b',
            event.pictures[0]['PicMd5Sum']
        )
开发者ID:lihuimail,项目名称:wechatpy,代码行数:27,代码来源:test_events.py


示例5: text_handle

def text_handle(request):
    msg = parse_message(request.body)
    reply = TextReply(message=msg)
    content = msg.content
    new_uid = reply.target

    if content == "来数据":
        views.update_database_randomly(new_uid)
        return HttpResponse(create_reply("注入了数据!", message=msg))

    elif content == "xp好帅":
        views.test2(new_uid)
        return HttpResponse(create_reply("获得了浇水次数和施肥次数!!", message=msg))

    if new_uid in sessions and sessions[new_uid] == 1:
        if content == "退出":
            sessions[reply.target] = 0
            return HttpResponse(create_reply("生命之树期待与您再次相会", message=msg))
        rebot_key = "da0d72f6aacebe4301f685e2c11f22c0"
        url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (rebot_key,urllib.parse.quote(content))
#       return HttpResponse(create_reply(u"生命之树期待与您再次相会", message=msg))
        response = urllib.request.urlopen(url).read()         #调用urllib2向服务器发送get请求url
        reply_text = json.loads(response.decode("utf-8"))['text']
        reply_text.replace('图灵机器人','生命之树')
#       reply_text.replace(u'图灵机器人'.encode('utf-8'),u'生命之树')
        return HttpResponse(create_reply(reply_text, message=msg))
        
    if(views.check_band_user(new_uid) == False):
        views.insert_band_user(new_uid)
        return HttpResponse(create_reply(u"太平洋手环保太平,欢迎您使用太平洋手环!", message=msg))
    else:
        return HttpResponse(create_reply(u"欢迎您重归太平洋手环!", message=msg))
开发者ID:Software-Eng-THU-2015,项目名称:pacific-rim,代码行数:32,代码来源:server.py


示例6: handle_msg

def handle_msg(request):
    if request.method == 'GET':
        signature = request.GET.get('signature')
        timestamp = request.GET.get('timestamp')
        nonce = request.GET.get('nonce')
        echo_str = request.GET.get('echostr')
        check_signature(TOKEN, signature, timestamp, nonce)
        return HttpResponse(echo_str)
    elif request.method == 'POST':
        body = request.body
        msg = parse_message(body)
        rep = TextReply()
        rep.source = msg.target
        rep.target = msg.source
        if msg.type == 'event':
            if msg.event == 'click':
                print(msg.key)
                if msg.key == 'sports_advice':
                    rep.content = recommend_plan(msg.source)
                elif msg.key == 'view_info':
                    rep.content = get_info(msg.source)
                elif msg.key == 'add_test':
                    rep.content = add_test(msg.source)
                elif msg.key == 'show_today':
                    rep.content = get_datatoday(msg.source)
            elif msg.event == 'subscribe':
                rep.content = create_newuser(msg.source)
            else:
                rep.content = '!!!'
        else:
            rep.content = '<a href="http://learn.tsinghua.edu.cn">你好</a>'
        repxml = rep.render()
        return HttpResponse(repxml)
开发者ID:sycmio,项目名称:sycmio.github.io,代码行数:33,代码来源:views.py


示例7: test_parse_submit_invoice_title_event

    def test_parse_submit_invoice_title_event(self):
        """ Test parsing xml for SubmitInvoiceTitleEvent """
        from wechatpy.events import SubmitInvoiceTitleEvent

        xml = """<xml>
        <ToUserName><![CDATA[gh_fc0a06a20993]]></ToUserName>
        <FromUserName><![CDATA[oZI8Fj040-be6rlDohc6gkoPOQTQ]]></FromUserName>
        <CreateTime>1475134700</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[submit_invoice_title]]></Event>
        <title><![CDATA[样例公司抬头]]></title>
        <tax_no><![CDATA[1486715661]]></tax_no>
        <addr><![CDATA[abc]]></addr>
        <phone><![CDATA[13313331333]]></phone>
        <bank_type><![CDATA[bt]]></bank_type>
        <bank_no><![CDATA[bn]]></bank_no>
        <attach><![CDATA[at]]></attach>
        <title_type><![CDATA[InvoiceUserTitleBusinessType]]></title_type>
        </xml>"""

        msg = parse_message(xml)
        self.assertTrue(isinstance(msg, SubmitInvoiceTitleEvent))
        self.assertEqual('样例公司抬头', msg.title)
        self.assertEqual('1486715661', msg.tax_no)
        self.assertEqual('abc', msg.addr)
        self.assertEqual('13313331333', msg.phone)
        self.assertEqual('bt', msg.bank_type)
        self.assertEqual('bn', msg.bank_no)
        self.assertEqual('at', msg.attach)
        self.assertEqual('InvoiceUserTitleBusinessType', msg.title_type)
开发者ID:Brightcells,项目名称:wechatpy,代码行数:30,代码来源:test_parser.py


示例8: wechat_handler

def wechat_handler():
    try:
        token = current_app.config['WECHAT_TOEKN']
        signature = request.args.get('signature')
        timestamp = request.args.get('timestamp')
        nonce = request.args.get('nonce')
        check_signature(token, signature, timestamp, nonce)

        current_app.logger.info('wechat_handler begin')
        body = request.get_data()
        current_app.logger.info('wechat_handler body %s' % body)
        msg = parse_message(body)
        if msg.type == 'text':
            return reply_msg(msg)
        elif msg.type == 'event' and msg.event == 'click' and msg.key == 'V2003_SignIn':
            return sign_in(msg)
        elif msg.type == 'event' and msg.event in ['subscribe_scan', 'scan'] and msg.scene_id == '123':
            binding(msg)
            if msg.event == 'subscribe_scan':
                return welcome_article(msg)
        elif msg.type == 'event' and msg.event == 'unsubscribe':
            unsubscribe_unbinding(msg)
        elif msg.type == 'event' and msg.event == 'subscribe':
            return welcome_article(msg)
        reply = EmptyReply()
        return reply.render()
    except InvalidSignatureException:
        abort(404)
    except Exception as e:
        current_app.logger.exception('wechat_handler %s' % e)
        reply = EmptyReply()
        return reply.render()
开发者ID:xingkaixin,项目名称:pinpin,代码行数:32,代码来源:wechatapp.py


示例9: test_pic_sysphoto_event

    def test_pic_sysphoto_event(self):
        from wechatpy.events import PicSysPhotoEvent

        xml = """<xml>
        <ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
        <FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
        <CreateTime>1408090651</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[pic_sysphoto]]></Event>
        <EventKey><![CDATA[6]]></EventKey>
        <SendPicsInfo><Count>1</Count>
        <PicList>
            <item>
            <PicMd5Sum><![CDATA[1b5f7c23b5bf75682a53e7b6d163e185]]></PicMd5Sum>
            </item>
        </PicList>
        </SendPicsInfo>
        </xml>"""

        event = parse_message(xml)

        self.assertTrue(isinstance(event, PicSysPhotoEvent))
        self.assertEqual(1, event.count)
        self.assertEqual(
            '1b5f7c23b5bf75682a53e7b6d163e185',
            event.pictures[0]['PicMd5Sum']
        )
开发者ID:lihuimail,项目名称:wechatpy,代码行数:27,代码来源:test_events.py


示例10: handle

def handle(request):
    if request.method == "GET":
        if not tools.checkSignature(request):
            return HttpResponse("invalid signature")
        else:
            return HttpResponse(request.GET["echostr"]) 
    msg = parse_message(request.body)
    return msg_splitter[msg.type](msg)
开发者ID:wmc54321,项目名称:wmc54321.github.io,代码行数:8,代码来源:server1.py


示例11: index

def index():
    # print request.args
    # print json.dumps(request.args)
    if request.method == 'GET':
        data = request.args
        signature = data.get('signature')
        timestamp = data.get('timestamp')
        nonce = data.get('nonce')
        echostr = data.get('echostr')
        token = current_app.config.get('TOKEN')
        try:
            check_signature(token, signature, timestamp, nonce)
        except InvalidSignatureException:
            return 'invalid signature'
        return echostr
    else:
        xml = request.data
        print xml
        msg = parse_message(xml)
        if msg.type == 'text':
            print msg.content
            reply =  TextReply(message=msg)
            reply.content = u'reply 测试'
            xml_reply = reply.render()
            return xml_reply
        elif msg.type == 'image':
            reply = ImageReply(message=msg)
            reply.media_id = msg.media_id
            xml_reply = reply.render()
            return xml_reply
        elif msg.type == 'voice':
            # reply = VoiceReply(message=msg)
            # reply.media_id = msg.media_id
            reply = TextReply(message=msg)
            reply.content = msg.recognition
            xml_reply = reply.render()
            return xml_reply
        elif msg.type == 'video':
            reply = VideoReply(message=msg)
            reply.media_id = msg.media_id
            reply.title = u'你的video'
            reply.description = u'wo 爱倪呀'
            xml_reply = reply.render()
            return xml_reply
            pass
        elif msg.type == 'location':
            pass
        elif msg.type == 'link':
            pass
        elif msg.type == 'shortvideo':
            reply = VideoReply(message=msg)
            reply.media_id = msg.thumb_media_id
            reply.title = u'你的video'
            reply.description = u'wo 爱倪呀'
            xml_reply = reply.render()
            return xml_reply
        else:
            return ''
开发者ID:waro163,项目名称:flask-wechat-public-service,代码行数:58,代码来源:views.py


示例12: _wechat_required

def _wechat_required(method, *args, **kwargs):
    from wechatpy.crypto import WeChatCrypto
    from wechatpy import parse_message

    signature = request.args.get('signature')

    timestamp = request.args.get('timestamp')
    nonce = request.args.get('nonce')

    if not current_app.config.get('WECHAT_TOKEN'):
        return abort(500, "Token is None")

    token = current_app.config['WECHAT_TOKEN']
    try:
        check_signature(token, signature, timestamp, nonce)
    except InvalidSignatureException:
        current_app.logger.warning('check signature failed.')
        return abort(403)

    if request.method == 'GET':
        return request.args.get('echostr', '')

    raw_msg = request.data
    current_app.logger.debug(raw_msg)
    if current_app.config.get('WECHAT_AES_KEY'):
        crypto = WeChatCrypto(
            current_app.config['WECHAT_TOKEN'],
            current_app['WECHAT_AES_KEY'],
            current_app.config['WECHAT_APPID']
        )
        try:
            raw_msg = crypto.decrypt_message(
                raw_msg,
                signature,
                timestamp,
                nonce
            )
        except (InvalidAppIdException, InvalidSignatureException):
            current_app.logger.warning('decode message failed.')
            return abort(403)

    request.wechat_msg = parse_message(raw_msg)

    res = method(*args, **kwargs)
    xml = ''

    if isinstance(res, BaseReply):
        xml = res.render()

    if current_app.config.get('WECHAT_AES_KEY'):
        crypto = WeChatCrypto(
            current_app.config['WECHAT_TOKEN'],
            current_app.config['WECHAT_AES_KEY'],
            current_app.config['WECHAT_APPID']
        )
        xml = crypto.encrypt_message(xml, nonce, timestamp)

    return xml
开发者ID:cloverstd,项目名称:flask-wechatpy,代码行数:58,代码来源:__init__.py


示例13: post

 def post(self, request):
     try:
         req_text = request.body.decode('utf-8')
         msg = parse_message(req_text)
     except Exception as e:
         logger.exception('Illegal message from weixin: \n%s', req_text)
         return HttpResponse('Illegal message from weixin: \n%s' % req_text)
     wechat_resp = handle_message(msg)
     return HttpResponse(wechat_resp, content_type='text/xml; charset=utf-8')
开发者ID:Randyedu,项目名称:WeCron,代码行数:9,代码来源:views.py


示例14: wechat

def wechat():
    signature = request.args.get('signature', '')
    timestamp = request.args.get('timestamp', '')
    nonce = request.args.get('nonce', '')
    encrypt_type = request.args.get('encrypt_type', 'raw')
    msg_signature = request.args.get('msg_signature', '')
    try:
        check_signature(TOKEN, signature, timestamp, nonce)
    except InvalidSignatureException:
        abort(403)
    if request.method == 'GET':
        echo_str = request.args.get('echostr', '')
        return echo_str

    # POST request
    if encrypt_type == 'raw':
        # plaintext mode
        msg = parse_message(request.data)
        if msg.type == 'text':
            reply = create_reply(msg.content, msg)
        else:
            reply = create_reply('Sorry, can not handle this for now', msg)
        return reply.render()
    else:
        # encryption mode
        from wechatpy.crypto import WeChatCrypto

        crypto = WeChatCrypto(TOKEN, AES_KEY, APPID)
        try:
            msg = crypto.decrypt_message(
                request.data,
                msg_signature,
                timestamp,
                nonce
            )
        except (InvalidSignatureException, InvalidAppIdException):
            abort(403)
        else:
            msg = parse_message(msg)
            if msg.type == 'text':
                reply = create_reply(msg.content, msg)
            else:
                reply = create_reply('Sorry, can not handle this for now', msg)
            return crypto.encrypt_message(reply.render(), nonce, timestamp)
开发者ID:shuaibo521,项目名称:HlanV3,代码行数:44,代码来源:runWechat.py


示例15: _enterprise_wechat_required

def _enterprise_wechat_required(method, *args, **kwargs):
    from wechatpy.enterprise import parse_message
    from wechatpy.enterprise.crypto import WeChatCrypto
    from wechatpy.enterprise.exceptions import InvalidCorpIdException
    signature = request.args.get('msg_signature')
    timestamp = request.args.get('timestamp')
    nonce = request.args.get('nonce')

    if not current_app.config.get('WECHAT_TOKEN'):
        return abort(500, "Token is None")

    crypto = WeChatCrypto(
        current_app.config['WECHAT_TOKEN'],
        current_app['WECHAT_AES_KEY'],
        current_app.config['WECHAT_APPID']
    )
    if request.method == 'GET':
        echo_str = request.args.get('echostr')
        try:
            echo_str = crypto.check_signature(
                signature,
                timestamp,
                nonce,
                echo_str
            )
        except InvalidSignatureException:
            abort(403)
        return echo_str

    try:
        msg = crypto.decrypt_message(
            request.data,
            signature,
            timestamp,
            nonce,
        )
    except (InvalidSignatureException, InvalidCorpIdException):
        return abort(403)
    else:
        request.wechat_msg = parse_message(msg)

    res = method(*args, **kwargs)
    xml = ''

    if isinstance(res, BaseReply):
        xml = res.render()

    crypto = WeChatCrypto(
        current_app.config['WECHAT_TOKEN'],
        current_app.config['WECHAT_AES_KEY'],
        current_app.config['WECHAT_APPID']
    )
    xml = crypto.encrypt_message(xml, nonce, timestamp)

    return xml
开发者ID:cloverstd,项目名称:flask-wechatpy,代码行数:55,代码来源:__init__.py


示例16: test_parse_text_message

    def test_parse_text_message(self):
        xml = """<xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
         <CreateTime>1348831860</CreateTime>
        <MsgType><![CDATA[text]]></MsgType>
        <Content><![CDATA[this is a test]]></Content>
        <MsgId>1234567890123456</MsgId>
        </xml>"""

        msg = parse_message(xml)
        self.assertEqual('text', msg.type)
开发者ID:Brightcells,项目名称:wechatpy,代码行数:12,代码来源:test_parser.py


示例17: test_parse_image_message

    def test_parse_image_message(self):
        xml = """<xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
        <CreateTime>1348831860</CreateTime>
        <MsgType><![CDATA[image]]></MsgType>
        <PicUrl><![CDATA[this is a url]]></PicUrl>
        <MediaId><![CDATA[media_id]]></MediaId>
        <MsgId>1234567890123456</MsgId>
        </xml>"""

        msg = parse_message(xml)
        self.assertEqual('image', msg.type)
开发者ID:Brightcells,项目名称:wechatpy,代码行数:13,代码来源:test_parser.py


示例18: test_parse_video_message

    def test_parse_video_message(self):
        xml = """<xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
        <CreateTime>1357290913</CreateTime>
        <MsgType><![CDATA[video]]></MsgType>
        <MediaId><![CDATA[media_id]]></MediaId>
        <ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
        <MsgId>1234567890123456</MsgId>
        </xml>"""

        msg = parse_message(xml)
        self.assertEqual('video', msg.type)
开发者ID:Brightcells,项目名称:wechatpy,代码行数:13,代码来源:test_parser.py


示例19: test_parse_subscribe_event

    def test_parse_subscribe_event(self):
        xml = """<xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[FromUser]]></FromUserName>
        <CreateTime>123456789</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[subscribe]]></Event>
        </xml>"""

        msg = parse_message(xml)

        self.assertEqual('event', msg.type)
        self.assertEqual('subscribe', msg.event)
开发者ID:JSFansw,项目名称:wechatpy,代码行数:13,代码来源:test_parser.py


示例20: handle_msg

def handle_msg(request):
    if request.method == 'GET':
        signature = request.GET.get('signature')
        timestamp = request.GET.get('timestamp')
        nonce = request.GET.get('nonce')
        echo_str = request.GET.get('echostr')
        check_signature(TOKEN, signature, timestamp, nonce)
        return HttpResponse(echo_str)
    elif request.method == 'POST':
        body = request.body
        msg = parse_message(body)
        rep = TextReply()
        rep.source = msg.target
        rep.target = msg.source
        if msg.type == 'event':
            if msg.event == 'click':
                if msg.key == 'sports_advice':
                    rep.content = recommend_plan(msg.source)
                elif msg.key == 'view_info':
                    rep.content = get_info(msg.source)
                elif msg.key == 'add_bong':
                    rep.content = add_bong(msg.source)
                elif msg.key == 'add_test':
                    rep.content = add_test(msg.source)
                elif msg.key == 'add_test_new':
                    rep.content = add_test_new(msg.source)
                elif msg.key == 'show_today':
                    rep.content = get_datatoday(msg.source)
                elif msg.key == 'change_remind':
                    rep.content = set_remind(msg.source)
                elif msg.key == 'build_match':
                    article_rep = ArticlesReply()
                    article_rep.source = msg.target
                    article_rep.target = msg.source
                    article_rep.add_article({
                        'title': '创建比赛',
                        'description': '点此链接以创建比赛',
                        'image': serverIP+'static/img/run02.jpg',
                        'url': build_match(msg.source)
                    })
                    repxml = article_rep.render()
                    return HttpResponse(repxml)
            elif msg.event == 'subscribe':
                rep.content = create_newuser(msg.source)
            else:
                rep.content = '!!!'
        else:
            rep.content = '你好'
        repxml = rep.render()
        return HttpResponse(repxml)
开发者ID:zjcAlistar,项目名称:myadmilk,代码行数:50,代码来源:views.py



注:本文中的wechatpy.parse_message函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python utils.to_binary函数代码示例发布时间:2022-05-26
下一篇:
Python wechatpy.create_reply函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap