忽然就想写个微信机器人,查了下资料,发现其实很简单。
两个问题:第一,如何接收和发送微信消息;第二,接到消息后该回复什么。
第一个问题由Python库itchat解决,第二个问题用图灵机器人API解决。
虽然“图灵机器人”提供了微信接口,但我的代码中使用的是web接口,完成后的代码如下,仅仅28行:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 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() |