python 贴吧自动回复机-python_库学习_02_微信自动回复机器人

一、python发展的趋势日益庞大,微信也有对应的库itchat。这次的实例做做成可在任意电脑运行的微信自动回复机器人exe.文件。

二、完成这个小应用我们需要装一些库,,

itchat;这个东东不出意外直接pip install itchat 就行了

pyinstaller;这个库是用来将你的.py文件打包成exe文件。

PS :当时这个库的用法确实卡了一会,网上看了很多文章,很杂,对于我个人而言这个库的使用并不需要那么麻烦,

直接打开cmd,cd 到你需要打包的py文件的文件夹位置直接使用命令:pyinstaller -F 文件名.py

-h, --help 查看帮助

-v, --version 查看 PyInstaller 版本

--clean 清理打包过程中的临时文件

-D, --onedir 默认值,生成 dist 目录

-F, --onefile 在 dist 文件夹中只生成独立的打包文件第

-p DIR, --paths DIR 添加 Python 文件使用的第三方库路径

-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >指定打包程序使用的图标(icon)文件

三、现在我们还需要一个准备工作,www.tuling123.com 接入图灵机器人的API,

应用原理就是别人发信息给你,你转给机器人,机器人回复你转给发信息给你的人

在图灵123网站申请一个免费机器人,

ps:详情可参照图灵网的api使用文档不是很难

1494441-20181012100815247-1090183803.png

四、itchat

itchat要注册消息类型,比如注册了TEXT(itchat.content.text),就会接收文本消息,其他消息不会触发函数。消息类型见库中的content.py文件

消息类型判断,msg["Type’]

消息发起者,msg["FromUserName’]

消息接收者,msg["ToUserName’]

文本消息,msg["Content’]

文件名字,msg["FileName’]在python中,函数通过def关键字、函数名和可选的参数列表定义。通过return关键字返回值

importitchat

itchat.auto_login()#可设置hotReload = True等于记住密码,不用每次登陆扫码

itchat.run()

1494441-20181012102639977-651984344.png

#coding=utf8

importrequestsimportitchat

KEY= '8edce3ce905a4c1dbb965e6b35c3834d'

defget_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)deftuling_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 ordefaultReply

itchat.auto_login()

itchat.run()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值