微信公众号:inspurer
关注可了解更多。问题或建议,请公众号留言;
若是你以为本文对你有帮助,欢迎赞扬[1]python
本文已转载个人简书:https://www.jianshu.com/p/4b7b4f4fb0e4git
本教程的做用
零基础手把手教你打造一款微信机器人,包括好友聊天自动回复和群聊助手两个部分,零基础!话很少说,下面开始实战编码。github
第一部分:好友聊天自动回复
第一步,安装python环境。
打开python官网https://www.python.org/downloads/,下载与你的电脑系统相匹配的python发行版本,推荐python3.5-python3.6,版本过高了可能有许多未知的bug,过低了兼容性不太好。json
第二步,安装itchat库
在命令行下输入pip install itchat
完成安装api
第三步,编写代码
核心代码以下:微信
#coding=utf8
import itchat
# 当接收到的消息是Text,即文字消息
#注册re_msg的意义在于,告诉itchat每次有符合特定条件的消息,itchat要把消息做为参数,去调用re_msg。
@itchat.msg_register('Text')
def text_reply(msg):
#message:取出msg里面的文本消息
message = msg['Text']
# 回复给好友
replay = u'肖涛已在电脑上登录网页微信,但暂时没法进行交流,能够给他发送电脑QQ消息哈'
#主要是一些关键词设置
# if B in A 若是 A中有B的话
if u'干什么' in message:
replay = u'在忙呢'
elif u'逼' in message:
replay = u'含有敏感词汇,请注意言辞'
elif u'生气' in message:
replay = u'生气对身体很差'
elif u'?' in message:
replay = u'哈哈,我也不知道'
elif u'不理你' in message:
replay = u'乖,忙完给你买糖吃'
elif u'涛' in message:
replay = u'他是我主人'
elif u'厉害' in message:
replay = u'不不不,辣鸡一个'
elif u'你好' in message:
replay = u'你好哇'
elif u'好吧' in message:
replay = u'再见'
return replay
#弹出扫码登陆界面,参数这样设置的好处是短期内退出程序,再次登陆能够不用扫码
itchat.auto_login(hotReload=True)
#开启自动回复
itchat.run()
以上代码都是本人亲自编写,如需转载请私信我。
代码截至2018/11/30本人调试有效,最新的代码更新在个人github:auto_replay.py若有问题欢迎评论。app
运行代码
运行以后,会弹出一个二维码,用微信扫一扫登陆网页版微信以后,这份代码就会接管你的消息通知。下面是一个简单的效果图
ide

第二部分:群聊助手
第一步是点对点的消息自动回复,本部分实现的是点对多、在群中的消息自动回复。请确认上一部分实现无误以后再来尝试第二部分,由于第二部分须要第一部分的环境配置作支撑。post
编写代码
import itchat
import requests
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api' #改为你本身的图灵机器人的api
'key': 'ce697b3fc8b54d5f88c2fa59772cb2cf', # Tuling Key
'info': msg, # 这是咱们发出去的消息
'userid': 'wechat-robot', # 这里可随意修改
}
# 经过以下命令发送一个post请求
r = requests.post(apiUrl, data=data).json()
return r.get('text')
@itchat.msg_register(itchat.content.TEXT)
#用于接收来自朋友间的对话消息 #若是不用这个,朋友发的消息便不会自动回复
def print_content(msg):
return get_response(msg['Text'])
#用于接收群里面的对话消息
@itchat.msg_register([itchat.content.TEXT], isGroupChat=True)
def print_content(msg):
return get_response(msg['Text'])
itchat.auto_login(True)
itchat.run()
接入图灵机器人
打卡图灵机器人官网,http://www.tuling123.com/,注册帐号,新建一个机器人,以下图
学习

把图中的apikey替换到代码里就行,若是你要用个人,我也没法拒绝,毕竟个人apikey也贴出来了。
运行效果

简要原理
一但接收到信息,就会调用get_response()方法,把消息传给图灵机器人,而后图灵机器人把回复信息再返回给微信。
截至2018/11/30代码运行无误,最新更新在个人github:grouphandler.py
若有问题请评论,如需转载请私信我。
后记
本篇文章参考了个人两篇csdn博客
https://blog.csdn.net/ygdxt/article/details/79766197
https://blog.csdn.net/ygdxt/article/details/81101020
在这里推荐两个python代码仓库:
一个是PythonLearning,这里面有我学习python的课程学习资料、以及一些我实战编写的代码,
另外一个是PythonSpider,这里面主要是一些我写的python实现的爬虫。
更多的请访问个人github,欢迎star,fork.
另外欢迎关注微信公众号:inspurer
若是你以为本篇文章不错,不妨打赏一下,谢谢。
长按关注公众号
本文分享自微信公众号 - 月小水长(inspurer)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。