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()