先命令安装pip install itchat- #coding=utf8
- import requests
- import itchat
-
- #演示用key,改成自己的更稳定
- KEY = '8edce3ce905a4c1dbb965e6b35c3834d'
-
- def get_response(msg):
- # 这里我们就像在“3. 实现最简单的与图灵机器人的交互”中做的一样
- # 构造了要发送给服务器的数据
- apiUrl = 'http://www.tuling123.com/openapi/api'
- data = {
- 'key' : KEY,
- 'info' : msg,
- 'userid' : 'wechat-robot',
- }
- try:
- r = requests.post(apiUrl, data=data).json()
- # 字典的get方法在字典没有'text'值的时候会返回None而不会抛出异常
- print(r.get('text'))
- if r.get('code') == 100000:
- return r.get('text')
- if r.get('code') == 200000:
- return "%s \n %s" % (r.get('text') , r.get('url'))
- return
- # 为了防止服务器没有正常响应导致程序异常退出,这里用try-except捕获了异常
- # 如果服务器没能正常交互(返回非json或无法连接),那么就会进入下面的return
- except:
- # 将会返回一个None
- return
-
- # 这里是我们在“1. 实现微信消息的获取”中已经用到过的同样的注册方法
- @itchat.msg_register(itchat.content.TEXT)
- def tuling_reply(msg):
- # 如果图灵Key出现问题,那么reply将会是None
- reply = get_response(msg['Text'])
- # 有内容一般就是指非空或者非None,你可以用`if a: print('True')`来测试
- return "秘书:" + reply
-
- # 为了让实验过程更加方便(修改程序不用多次扫码),我们使用热启动
- itchat.auto_login(hotReload=True)
- itchat.run()
复制代码
|