28行的微信聊天机器人

忽然就想写个微信机器人,查了下资料,发现其实很简单。

两个问题:第一,如何接收和发送微信消息;第二,接到消息后该回复什么。

第一个问题由Python库itchat解决,第二个问题用图灵机器人API解决。

虽然“图灵机器人”提供了微信接口,但我的代码中使用的是web接口,完成后的代码如下,仅仅28行:

    # -*- coding: utf-8 -*-
    import sys
    import json
    import time
    import itchat
    import requests
    reload(sys) 
    sys.setdefaultencoding('utf-8') 
    API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'         #图灵机器人API_KEY,是免费的
    raw_TULINURL = "http://www.tuling123.com/openapi/api?key=%s&info=" % API_KEY
    def result(queryStr):
        r = requests.get(raw_TULINURL+queryStr)
        hjson=json.loads(r.text)
        length=len(hjson.keys())
        content=hjson['text']
        if length==3:
            return content+hjson['url']
        elif length==2:
            return content
    @itchat.msg_register(itchat.content.TEXT)
    def text_reply(msg):
        print msg['FromUserName']+u":"+msg['Text']
        time.sleep(5)
        ret = result(msg['Text'])
        print u"我:"+ret
        return ret
    itchat.auto_login()
    itchat.run()

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

4 × 5 =