python利用itchat库和pyinstaller制作微信自动回复机器人

第一步:准备所需的库和python扩展包
cmd下 运行:
    pip install itchat
    pip install pyinstaller

如果不能运行,添加一些环境变量就可以了。

第二步:现在我们还需要一个准备工作,www.tuling123.com 接入图灵机器人的API,应用原理就是别人发信息给你,你转给机器人,机器人回复你转给发信息给你的人在图灵123网站申请一个免费机器人


第三步:编写代码

itchat要注册消息类型,比如注册了TEXT(itchat.content.text),就会接收文本消息,其他消息不会触发函数。消息类型见库中的content.py文件
消息类型判断,msg[‘Type’]
消息发起者,msg[‘FromUserName’]
消息接收者,msg[‘ToUserName’]
文本消息,msg[‘Content’]
文件名字,msg[‘FileName’]在python中,函数通过def关键字、函数名和可选的参数列表定义。通过return关键字返回值
 
代码:
import itchat
itchat.auto_login()   # 可设置hotReload = True等于记住密码,不用每次登陆扫码
itchat.run()

代码:
#coding=utf8
 
 
import requests
import itchat
 
KEY = '07c2c4422eff42bb89de592c7e3127b4'
 
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而不会抛出异常
        return r.get('text')
    # 为了防止服务器没有正常响应导致程序异常退出,这里用try-except捕获了异常
    # 如果服务器没能正常交互(返回非json或无法连接),那么就会进入下面的return
    except:
        # 将会返回一个None
        return
 
# 这里是我们在“1. 实现微信消息的获取”中已经用到过的同样的注册方法
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
    # 为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复
    defaultReply = 'I received: ' + msg['Text']
    # 如果图灵Key出现问题,那么reply将会是None
    reply = get_response(msg['Text'])
    # a or b的意思是,如果a有内容,那么返回a,否则返回b
    # 有内容一般就是指非空或者非None,你可以用`if a: print('True')`来测试
    return reply or defaultReply
 
itchat.auto_login()
itchat.run()

业务咨询

产品服务

  • 免费安装WIN/Linux系统
  • 免费重启/重装系统
  • 免费配置PHP/ASP.NET环境
  • 免费网站搬家数据迁移服务

壹佰网络官方微信