예제 #1
0
파일: handle.py 프로젝트: hoymkot/web-app
 def POST(self):
     try:
         webData = web.data()
         print("Handle Post webdata is ", webData)
         #后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 content = "test"
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             if isinstance(recMsg, receive.EventMsg):
                 if recMsg.Event == 'CLICK':
                     if recMsg.Eventkey == 'jidai_location':
                         replyMsg = reply.TextMsg(
                             toUser, fromUser,
                             "广隆吉大店\n0756-3228782\n珠海市香洲区\n吉大石花东路203号")
                     if recMsg.Eventkey == 'jinji_location':
                         replyMsg = reply.TextMsg(
                             toUser, fromUser,
                             "广隆前山店\n0756-8652111\n珠海市香洲区\n前山金鸡路路555号")
                     return replyMsg.send()
         else:
             print("暂且不处理")
             return "success"
     except Exception as Argment:
         return Argment
예제 #2
0
    def POST(self):
        try:
            webData = web.data()
            print('Handle POST webdata is ', webData)
            recMsg = receive.parse_xml(webData)
            if isinstance(recMsg, receive.Msg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName

                if recMsg.MsgType == 'text':
                    content = 'test'  #reply the massage
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()
                if recMsg.MsgType == 'image':
                    mediaId = recMsg.MediaId
                    replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    return replyMsg.send()
                else:
                    print('暂不处理')
                    return 'success'

            if isinstance(recMsg, receive.EventMsg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName

                if recMsg.Event == 'CLICK':
                    content = u'尚未完成'.encode('utf-8')
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()
                else:
                    print('暂不处理')
                    return 'success'
        except Exception as Argment:
            return Argment
예제 #3
0
파일: handle.py 프로젝트: LiuPeien/symbolic
 def POST(self):
     try:
         webData = web.data()
         print
         "Handle Post webdata is ", webData  # 后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 content = "test"
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
             print
             "暂且不处理"
             return reply.Msg().send()
     except Exception as e:
         print(e)
예제 #4
0
파일: handle.py 프로젝트: wolflop/weixin
 def POST(self):
     try:
         webData = web.data()
         print('Handle Post webdata is ', webData)
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
             print('this is a text message')
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             content = "你好,这是平平的背包,现在在试验阶段。"
             replyMsg = reply.TextMsg(toUser, fromUser, content)
             #print(replyMsg)
             return replyMsg.send()
         elif isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'image':
             print('this is a image mesage')
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             mediaId = recMsg.MediaId
             #picUrl = recMsg.PicUrl
             #print('the message from ', toUser)
             #print('the message to ', fromUser)
             #print('the MediaID is', mediaId)
             #print('the picUrl is ', picUrl)
             #content = "你好,这是平平的背包,现在在试验阶段。"
             #replyMsg = reply.TextMsg(toUser, fromUser, content)
             replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
             #print(replyMsg)
             return replyMsg.send()
         else:
             print ("暂且不处理")
             return "success"
     except Exception as Argment:
         return Argment
예제 #5
0
def wx_post(request):
    try:
        webData = request.body
        print "Handle Post webdata is ", webData  # 后台打日志

        recMsg = receive.parse_xml(webData)
        if isinstance(recMsg, receive.Msg):
            if recMsg.MsgType == 'text':
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                content = "你好,欢迎进入智绘演意公众号。"
                replyMsg = reply.TextMsg(toUser, fromUser, content)
                return HttpResponse(replyMsg.send())
            elif recMsg.MsgType == 'image':
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                content = "感谢你的上传"
                replyMsg = reply.TextMsg(toUser, fromUser, content)
                return HttpResponse(replyMsg.send())
            elif recMsg.MsgType == 'event' and recMsg.Event == "CLICK":
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                content = "即将上线!"
                replyMsg = reply.TextMsg(toUser, fromUser, content)
                return HttpResponse(replyMsg.send())
        else:
            print "暂不处理"
            return HttpResponse("success")
    except Exception, Argment:
        print 'traceback.print_exc():'
        traceback.print_exc()
        return HttpResponse(Argment)
예제 #6
0
 def POST(self):
     try:
         webData = web.data()
         print "Handle Post webdata is ", webData
         # 后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 content = "text reply"
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             elif recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             elif recMsg.MsgType == 'location':
                 msgId = recMsg.MsgId
                 replyMsg = reply.LocationMsg(toUser, fromUser, msgId)
                 print "位置信息"
                 return replyMsg.send()
             else:
                 print "暂且不处理"
                 return "success"
     except Exception, Argment:
         return Argment
예제 #7
0
 def POST(self):
     try:
         webData = web.data()
         print("Handle Post webdata is :", webData)
         #后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             recv_content = recMsg.Content.decode()
             if recMsg.MsgType == 'text':
                 print('recv:', recv_content)
                 ans = agent.search(recv_content)
                 #print('ans:',ans)
                 #content = "公众号test"
                 replyMsg = reply.TextMsg(toUser, fromUser, ans)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
             print("暂且不处理")
             return reply.Msg().send()
     except Exception as Argment:
         return Argment
예제 #8
0
 def POST(self):
     try:
         webData = web.data()
         print "Handle Post webdata is ", webData   #后台打日志
         recMsg = receive.parse_xml(webData)
         xml = etree.fromstring(webData)
         #进行XML解析
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 #content = recMsg.Content
                 Content = xml.find("Content").text
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
             print "暂且不处理"
             return reply.Msg().send()
     except Exception, Argment:
         return Argment
예제 #9
0
 def POST(self):
     global eventEngine, eventHandle, question, answer
     try:
         eventEngine.set()
         webData = web.data()
         #print "Handle Post webdata is ", webData   #后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 print recMsg.Content
                 question = recMsg.Content
                 eventEngine.set()
                 eventHandle.wait()
                 eventHandle.clear()
                 content = answer.strip()
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
             print "暂且不处理"
             return "success"
     except Exception, Argment:
         return Argment
예제 #10
0
 def POST(self):
     try:
         webData = web.data()
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 content = recMsg.reply()
                 render = web.template.render('templates/')
                 return render.reply_text(fromUser, \
                  toUser, int(time.time()), content)
                 replyMsg = reply.TextMsg(toUser, \
                  fromUser, content)
                 return replyMsg.send()
             elif recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, \
                  fromUser, mediaId)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
             print "暂且不处理"
             return "success"
     except Exception, Argment:
         return Argment
예제 #11
0
파일: views.py 프로젝트: yunxiang2009/wx
def wechat(request):
    if request.method == "GET":
        signature = request.GET.get("signature", None)
        timestamp = request.GET.get("timestamp", None)
        nonce = request.GET.get("nonce", None)
        echostr = request.GET.get("echostr", None)
        # get all stuff we need from request

        token = wechat_token 
        tmp_list = [token, timestamp, nonce]
        tmp_list.sort()
        tmp_str = "%s%s%s" % tuple(tmp_list)
        tmp_str = hashlib.sha1(tmp_str).hexdigest()
        #encrypt sort it, hashlib it, then check the result

        if tmp_str == signature:
            return HttpResponse(echostr)
        else:
            return HttpResponse("weixin  index")
    
    elif request.method == "POST":
        str_xml = request.body.decode('utf-8')    #use body to get raw data          
        recMsg = receive.parse_xml(str_xml) # 注意要引用 receive.py
        toUserName = recMsg.toUserName
        fromUserName = recMsg.fromUserName

        if recMsg.msgType == 'text':
            cool = "You send me a stupid message: "
            msgType = recMsg.msgType
            createTime = recMsg.createTime
            content = cool + recMsg.content
            # 2. 以下是尝试的新玩法
            replyMsg = reply.TextMsg(fromUserName, toUserName, content)
            return HttpResponse(replyMsg.send())
예제 #12
0
    def POST(self):
        try:
            webData = web.data()
            print "Handle Post webdata is \n", webData  # 打印后台日志
            recMsg = receive.parse_xml(webData)

            if isinstance(recMsg, receive.Msg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                if recMsg.MsgType == 'text':
                    content = recMsg.Content
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()
                if recMsg.MsgType == 'image':
                    mediaId = recMsg.MediaId
                    replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    return replyMsg.send()
                else:
                    return reply.Msg().send()

            if isinstance(recMsg, receive.EventMsg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                if recMsg.Event == 'CLICK':
                    print 'It is a CLICK event'
                    content = u'功能正在开发中,敬请期待..'.encode('utf-8')
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()

            print "暂且不处理"
            return reply.Msg().send()

        except Exception, Argment:
            return Argment
예제 #13
0
def wechat_auth():
    try:
        if request.method == 'GET':
            data = request.args
            print('Coming Get', data)
            if not data:
                return ''

            test = data.get('test', '')
            if test != '':
                content = get_content(test)
                return content['content']

            signature = data.get('signature', '')
            if signature == '':
                return 'error'

            timestamp = data.get('timestamp', '')
            nonce = data.get('nonce', '')
            echostr = data.get('echostr', '')
            s = [timestamp, nonce, token]
            s.sort()
            s = ''.join(s).encode('utf8')
            if (hashlib.sha1(s).hexdigest() != signature):
                return 'failed'

            return make_response(echostr)

        if request.method == 'POST':
            xml_str = request.stream.read()
            # print('Coming Post', xml_str)
            recMsg = receive.parse_xml(xml_str)
            toUser = recMsg.FromUserName
            fromUser = recMsg.ToUserName
            replyMsg = reply.Msg(toUser, fromUser)
            if isinstance(recMsg, receive.TextMsg):
                content = recMsg.Content
                response = get_content(content)
                msgType = response['type']
                content = response['content']
                if msgType == 'text':
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                elif msgType == 'news':
                    replyMsg = reply.NewsMsg(toUser, fromUser,
                                             response['title'],
                                             response['content'],
                                             response['pic_url'],
                                             response['url'])
            elif isinstance(recMsg, receive.ImageMsg):
                pass
            elif isinstance(recMsg, receive.EventMsg):
                if recMsg.Event == 'subscribe':
                    content = config.Welcome.format(key=get_keywords())
                    replyMsg = reply.TextMsg(toUser, fromUser, content)

            return replyMsg.send()

    except Exception as e:
        print(str(e))
        return ''
예제 #14
0
    def POST(self):
        try:
            webData = web.data()
            print("Handle post web data is:", webData)
            recvMsg = receive.parse_xml(webData)

            if isinstance(recvMsg, receive.Msg):
                toUser = recvMsg.FromUserName
                fromUser = recvMsg.ToUserName
                if recvMsg.MsgType == 'text':
                    replyMsg = reply.TextMsg(toUser, fromUser, recvMsg.Content)
                    textMsg = replyMsg.send()
                    print("Return to WeChat Msg is :", textMsg)
                    return textMsg
                if recvMsg.MsgType == 'image':
                    mediaId = recvMsg.MediaId
                    replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    imageMsg = replyMsg.send()
                    return imageMsg
                else:
                    return reply.Msg().send()

            if isinstance(recvMsg, receive.EventMsg):
                if recvMsg.Event == 'CLICK':
                    if recvMsg.EventKey == 'mpGuide':
                        content = u'编写中,尚未完成'.encode('utf-8')
                        replyMsg = reply.TextMsg(toUser, fromUser, content)
                        return replyMsg.send()
            print("暂不处理......")
            return reply.Msg().send()
        except Exception, Argment:
            print("[ERROR]: except Exception!!!!:", Argment)
            return Argment
예제 #15
0
파일: handle.py 프로젝트: Wizwizard/mtgtool
 def POST(self):
     try:
         webData = web.data()
         print("Handle Post webdata is ", webData)
         recMsg = receive.parse_xml(webData)
         # if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
         print(recMsg.MsgType)
         if recMsg.MsgType == 'text':
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             content = self.distribute(recMsg)
             if content == "":
                 return "success"
             replyMsg = reply.TextMsg(toUser, fromUser, content)
             replyMsg_send = replyMsg.send()
             #print(replyMsg_send)
             return replyMsg_send
         # 事件处理 ***需要优化***
         elif recMsg.MsgType == 'event':
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             event = recMsg.Event
             if event == "subscribe":
                 content = self.WELCOME_SUBSCRIBE
             else:
                 return "success"
             replyMsg = reply.TextMsg(toUser, fromUser, content)
             replyMsg_send = replyMsg.send()
             return replyMsg_send
         else:
             # print("其他类型暂且不处理")
             return "success"
     except Exception as Argment:
         print(Argment)
         return Argment
예제 #16
0
 def POST(self):
     try:
         webData = web.data()
         print "接收客户信息:\n", webData
         # 后台打日志
         recMsg = receive.parse_xml(webData)#处理接收微信发过来的信息
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             recvtext = recMsg.Content#接收发送的信息
             if recMsg.MsgType == 'text':
                 try:
                     if recvtext.isdigit():#判断接收的是数字还是字符串
                         #连接数据库获取评论信息
                         content = NetSQL.sqlitetest(recvtext)['txt'].encode('utf8') + "\n\n\n------来自网易云音乐评论------\n    %s" % (
                         NetSQL.sqlitetest(recvtext)['footer'].encode('utf8'))#不转码报错ASCII
                         print(content)
                         #new对象
                         replyMsg = reply.TextMsg(toUser, fromUser, content)
                         return replyMsg.send()#调用方法发送
                     else:
                         content = "请发送数字:1-104180\nhttp://daydayup11.cn/"
                         replyMsg = reply.TextMsg(toUser, fromUser, content)
                         return replyMsg.send()#发送XML格式数据
                 except Exception,e:
                     print("SendERR:",e)
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
예제 #17
0
    def POST(self):
        try:
            webData = web.data()
            print("Handle Post webdata is:\n", webData)
            #打印消息体日志
            recMsg = receive.parse_xml(webData)

            if isinstance(recMsg, receive.Msg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName

                print('Reply message info:\n')
                print('toUser ='******'fromUser = '******'text':
                    print('收到文本消息:' + str(recMsg.Content))
                    content = Aiapi.moli(str(recMsg.Content))
                    print('回复消息 = ', content)
                    return self.render.reply_text(toUser, fromUser, int(time.time()), content)
                #判断消息是否为image类型
                if recMsg.MsgType == 'image':
                    print('收到图片消息!')
                    mediaId = recMsg.MediaId
                    print('媒体id:' + mediaId)
                    return self.render.reply_image(toUser, fromUser,int(time.time()),  mediaId)
            else:
                print("不支持的消息类型:",recMsg.MsgType)
                return "success"
        except (Exception) as Argment:
            return Argment
예제 #18
0
파일: handle.py 프로젝트: xuewlw/testpro
    def POST(self):
        try:
            webData = web.data()
            print("Handle Post webdata is ", webData)

            recMsg = receive.parse_xml(webData)
            toUser = recMsg.FromUserName
            fromUser = recMsg.ToUserName

            if isinstance(recMsg, receive.Msg):
                if recMsg.MsgType == 'text':
                    content = "test"
                    print(toUser)
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()
                if recMsg.MsgType == "image":
                    mediaId = recMsg.MediaId
                    print(mediaId)
                    replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    return replyMsg.send()
                # else:
                #    return reply.Msg().send()

            if isinstance(recMsg, receive.EventMsg):
                if recMsg.Event == 'CLICK':
                    if recMsg.Eventkey == 'mpGuide':
                        content = u"编写中".encode('utf8')
                        replyMsg = reply.TextMsg(toUser, fromUser, content)
                        return replyMsg.send()

            print("暂不处理")
            return reply.Msg().send()
        except Exception as e:
            return e
예제 #19
0
    def POST(self):
        webData = web.data()
        recMsg = receive.parse_xml(webData)
        # 自动回复功能:
        # if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
        #     toUser = recMsg.FromUserName
        #     fromUser = recMsg.ToUserName
        #     content = '您好!我是平台管理员,有任何问题或建议都联系我15305170962(微信同号)'
        #     replyMsg = reply.TextMsg(toUser, fromUser, content)
        #     return replyMsg.send()

        if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'image':
            toUser = recMsg.FromUserName
            fromUser = recMsg.ToUserName
            mediaID = recMsg.MediaId
            replyMsg = reply.ImageMsg(toUser,fromUser,mediaID)
            return replyMsg.send()
        
        elif isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'event' and recMsg.Event == 'CLICK' and recMsg.EventKey == 'SendInfo':
            toUser = recMsg.FromUserName
            fromUser = recMsg.ToUserName
            content = '您好!我是平台管理员,有任何问题或建议都联系我15305170962(微信同号)' 
            replyMsg = reply.TextMsg(toUser, fromUser, content)
            return replyMsg.send()

        else:
            return "success"
예제 #20
0
 def POST(self):
     try:
         webData = web.data()
         print("Handle Post webdata is ", webData)
         #后台打日志
         recMsg = receive.parse_xml(webData)
         toUser = recMsg.FromUserName
         fromUser = recMsg.ToUserName
         if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
             textt = recMsg.Content
             print("text:", textt)
             with open("tmp.txt", "a+") as f:
                 f.writelines("to: " + str(fromUser) + " from: " +
                              str(toUser) + " time: " +
                              time.asctime(time.localtime(time.time())) +
                              " text: " + str(textt) + '\n')
             f.close()
             content = "程序猿正在狂修后端代码,获取推送请见推送历史,咨询请加QQ群:983352543"
             replyMsg = reply.TextMsg(toUser, fromUser, content)
             return replyMsg.send()
         else:
             content = "憋发了这个辣鸡后端现在只能收文本消息。。。"
             replyMsg = reply.TextMsg(toUser, fromUser, content)
             return replyMsg.send()
     except Exception as Argment:
         return Argment
예제 #21
0
 def POST(self):
     try:
         webData = web.data()
         #后台打印
         print('handle POST webdata', webData)
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 content = u"客服暂未开放,如需帮助请点击菜单旗舰店联系客服,或者拨打售后服务热线400-820-6276".encode(
                     'utf-8')
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, content)
             return replyMsg.send()
         if isinstance(recMsg, receive.EventMsg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             print(recMsg.Event, recMsg.EventKey)
             if recMsg.Event == 'CLICK':
                 if recMsg.EventKey == 'zbf':
                     content = u"编写中".encode('utf-8')
                     replyMsg = reply.TextMsg(toUser, fromUser, content)
                     return replyMsg.send()
         else:
             print('not handle now')
             return reply.Msg().send()
     except Exception, e:
         return e
예제 #22
0
def index():
    if request.method == 'GET':
        token = '41161a014eb70f1d54ea782c421c60b9'  # your token
        query = request.args  # GET 方法附上的参数
        signature = query.get('signature', '')
        timestamp = query.get('timestamp', '')
        nonce = query.get('nonce', '')
        echostr = query.get('echostr', '')
        s = [timestamp, nonce, token]
        s.sort()
        s = ''.join(s)
        if (hashlib.sha1(s).hexdigest() == signature):
            return make_response(echostr)
        else:
            return 'not equals'
    elif request.method == 'POST':
        webData = request.data
        # print("Handle Post webdata is ", webData)
        # return webData
        recMsg = receive.parse_xml(webData)
        if isinstance(
                recMsg,
                receive.Msg) and recMsg.MsgType == 'text':  # 向用户返回相应的content
            # if recMsg.MsgType == 'text':
            toUser = recMsg.FromUserName
            fromUser = recMsg.ToUserName
            content = msg_handle.msgHandle(recMsg)  # 向msgHandle传入recMsg结构
            replyMsg = reply.TextMsg(toUser, fromUser, content)
            return replyMsg.send()
        else:
            print("暂且不处理")
            return "success"
예제 #23
0
    def POST(self):
        try:
            webData = web.data()
            print("Handle Post webdata is:\n", webData)
            #打印消息体日志
            recMsg = receive.parse_xml(webData)

            if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                content = AIS.ai(str(recMsg.Content))
                return self.render.reply_text(toUser, fromUser,
                                              int(time.time()), content)

            elif isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'image':
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                print('收到图片消息!')
                mediaId = recMsg.MediaId
                print('媒体id:' + mediaId)
                return self.render.reply_image(toUser, fromUser,
                                               int(time.time()), mediaId)
            else:
                print("不支持的消息类型:", recMsg.MsgType)
                return "success"
        except (Exception) as Argment:
            return Argment
예제 #24
0
파일: handle.py 프로젝트: iriszero48/Trash
 def POST(self):
     try:
         webData = web.data()
         print "Handle Post webdata is ", webData  # 后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.MsgType == 'text':
                 content = recMsg.Content
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 return replyMsg.send()
         if isinstance(recMsg, receive.EventMsg):
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             if recMsg.Event == 'CLICK':
                 if recMsg.Eventkey == 'mpGuide':
                     content = u"编写中,尚未完成".encode('utf-8')
                     replyMsg = reply.TextMsg(toUser, fromUser, content)
                     return replyMsg.send()
         print "暂且不处理"
         return reply.Msg().send()
     except Exception, Argment:
         return Argment
예제 #25
0
    def POST(self):
        try:
            webData = web.data()
            print "Handle Post webdata is ", webData    #后台打日志
            
            recMsg = receive.parse_xml(webData)
            if isinstance(recMsg, receive.Msg):

                if recMsg.MsgType == 'text':
                    toUser = recMsg.FromUserName
                    fromUser = recMsg.ToUserName
                    content = "You told me:" + recMsg.Content + ",thanks!"
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                return replyMsg.send()

                if recMsg.MsgType == 'image':
                    toUser = recMsg.FromUserName
                    fromUser = recMsg.ToUserName
                    mediaId = recMsg.MediaId
                    replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    return replyMsg.send()
                else:
                    return reply.Msg().send()

            else:
                print "暂且不处理"
                return "success"
        except Exception, Argment:
            return Argment
예제 #26
0
    def POST(self):
        try:
            token = Basic().get_access_token()
            print(token)
            webData = web.data()
            recMsg = receive.parse_xml(webData)
            if isinstance(recMsg, receive.Msg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                if recMsg.MsgType == 'text':
                    content = "欢迎光临!"
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()
                if recMsg.MsgType == 'image':
                    mediaId = recMsg.MediaId
                    replyImageMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    return replyImageMsg.send()
                else:
                    return reply.Msg().send()

            else:
                print("暂且不处理")
                return reply.Msg().send()
        except  Exception as Argment:
            print(Argment)
            return Argment
예제 #27
0
파일: handle.py 프로젝트: wangzilong1997/vx
 def POST(self):
     try:
         webData = web.data()
         print("Handle Post webdata is", webData)
         #后台打印日志
         recMsg = receive.parse_xml(webData)
         print(recMsg)
         if isinstance(recMsg, receive.Msg):
             print(recMsg)
             print(receive.Msg)
             toUser = recMsg.FromUserName
             fromUser = recMsg.ToUserName
             print(recMsg.MsgType)
             if recMsg.MsgType == 'text':
                 print("text")
                 content = recMsg.Content.decode('utf-8')
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             if recMsg.MsgType == 'image':
                 mediaId = recMsg.MediaId
                 print(mediaId)
                 print(11111111111111111)
                 replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                 print(replyMsg)
                 print(11111111111)
                 return replyMsg.send()
             else:
                 return reply.Msg().send()
         else:
             print("暂且不处理未识别的消息")
             return success
     except Exception as Argment:
         return Argment
예제 #28
0
파일: main.py 프로젝트: tmlishuai2/weixin
def weixin_auth():
    if request.method == 'GET':
        print("coming GET")
        signature = request.args['signature']
        timestamp = request.args['timestamp']
        nonce = request.args['nonce']
        token = variables.wxToken
        echostr = request.args['echostr']
        print(echostr + '  ' + signature + '  ' + timestamp)

        list_args = [token, timestamp, nonce]
        list_args.sort()
        sha1 = hashlib.sha1()
        map(sha1.update, list_args)
        hashcode = sha1.hexdigest()
        print("handle GET: hashcode, signature: ", hashcode, signature)
        if hashcode == signature:
            return (echostr)
        else:
            return ("")

    if request.method == 'POST':
        webData = request.stream.read().decode()
        print("Handle Post webdata is", webData)
        rec = receive.parse_xml(webData)
        if rec is None:
            print("不是事件或消息")
            return ("success")
        else:
            toUser = rec.FromUserName
            fromUser = rec.ToUserName
            createTime = rec.CreateTime
            msgType = rec.MsgType
            if isinstance(rec, receive.Msg):
                if rec.MsgType == 'text':
                    rec_content = rec.Content
                    content = AI.answer(rec_content)
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    print("\n start replying")
                    return ("success")
                # return(replyMsg.send())
                if rec.MsgType == 'voice':
                    rec_content = rec.Recognition
                    content = AI.answer(rec_content)

                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    #return(replyMsg.send())
                    return ("success")
                if rec.MsgType == 'location':
                    content = AI.reply_Location(rec)
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return (replyMsg.send())
            else:
                if rec.Event == 'subscribe':
                    content = AI.reply_Subscribe(rec)

                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return (replyMsg.send())

                return ("success")
예제 #29
0
    def POST(self):
        try:
            webData = web.data()
            print "Handle Post webdata is ", webData   #后台打日志
            recMsg = receive.parse_xml(webData)
            if isinstance(recMsg, receive.Msg):
                toUser = recMsg.FromUserName
                fromUser = recMsg.ToUserName
                if recMsg.MsgType == 'text':
                    queryUser = recMsg.Content
                    if queryUser in msgs.keys():
                      if msgs[queryUser]:
                        content = msgs[queryUser].pop();
                      else:
                        content = 'there is no msg for ' + queryUser
                    else:
                      content = 'there is no msg for ' + queryUser

                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    return replyMsg.send()
                if recMsg.MsgType == 'image':
                    mediaId = recMsg.MediaId
                    replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                    return replyMsg.send()
                else:
                    return reply.Msg().send()
            else:
                print "暂且不处理"
                return reply.Msg().send()
        except Exception, Argment:
            return Argment
예제 #30
0
 def POST(self):
     webData = web.data()
     util.lstr("Handle Post webdata is: ")
     util.lstr(webData)
     # print(type(webData))  # str
     recMsg = receive.parse_xml(webData)
     if isinstance(recMsg, receive.Msg):
         toUser = recMsg.FromUserName
         fromUser = recMsg.ToUserName
         if recMsg.MsgType == 'text':
             # info = 'empty'
             # content = '收到问题: ' + recMsg.Content + ' info: ' + info
             content = self.process_txt(recMsg.Content)
             replyMsg = reply.TextMsg(toUser, fromUser, content.encode('utf-8'))
             return replyMsg.send()
         if recMsg.MsgType == 'image':
             # 发送信息
             # content = self.process_txt('image')
             # replyMsg = reply.TextMsg(toUser, fromUser, content.encode('utf-8'))
             # return replyMsg.send()
             replyMsg = reply.NewsMsg(toUser, fromUser, 1, '这可能是苹果白粉病', '苹果白粉病(Apple powdery mildew)在我国苹果产区发生普遍。除为害苹果外,还为害梨、沙果、海棠、槟子和山定子等,对山定子实生苗、小苹果类的槟沙果、海棠和苹果中的倭锦、祝、红玉、国光等品种为害重。', 'http://g.hiphotos.baidu.com/baike/w%3D268%3Bg%3D0/sign=442e0372f2d3572c66e29bdab228041a/18d8bc3eb13533facc74c7b5a8d3fd1f40345b6e.jpg', 'http://baike.baidu.com/item/%E8%8B%B9%E6%9E%9C%E7%99%BD%E7%B2%89%E7%97%85/10248498?fr=aladdin')
             return replyMsg.send()
         if recMsg.MsgType == 'voice':
             content = '用户: ' + recMsg.FromUserName + ' 发送了语音,转化为文字为: ' + recMsg.Recognition
             replyMsg = reply.TextMsg(toUser, fromUser, content)
             return replyMsg.send()
         else:
             return reply.Msg().send()
     else:
         util.lstr("暂且不处理")
         return reply.Msg().send()