哈喽,大家好,我是代码君,好久没发干货啦~会不会被大家吐槽呀
大家都知道,最近代码君迷上了Python,一直在研究这门语言,还是那句话,人生苦短,我学Python,今天代码君要教大家一个黑科技,30行代码实现自己定制的微信群聊助手,这个助手有什么用呐,就是用来活跃气氛的,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,这是代码君在自己群里的测试,效果还可以
好了,言归正传,代码君开始教大家如何定制自己的微信群聊助手
准备
-
Python开发环境
由于代码君用的是mac,mac自带python开发环境,所以不需要安装,window请自行到python官网下载安装,这个比较简单就不写教程了,mac打开终端输入python,可以查看当前python版本号
安装Python库itchat
在终端输入下面代码,安装itchat库
pip install itchat
- 申请图灵机器人API的key
这个你只要去图灵机器人官网注册一下就可以获取免费的key,当然免费的会有部分限制,不过用于我们测试玩,完全够用
微信聊天助手的实现
import itchat
import requests
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key': '8edce3ce905a4c1dbb965e6b35c3834d', # 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()
看完代码,读者们是不是惊呆了,如果你真感兴趣,可以数一下,连30行代码都没有到呦,这也许就是Python的魅力吧,用极简的代码,就实现了我们想要的功能,这里讲解一下代码吧
- 用到两个库,一个itchat,一个requests,如果你import itchat 没用出异常,也说明你之前安装itchat库成功啦,requests是网络请求库,python自带的,用于调用图灵机器人API
- @itchat.msg_register(itchat.content.TEXT):用于接收来自朋友间的对话消息
- @itchat.msg_register([itchat.content.TEXT], isGroupChat=True):用于接收群里面的对话消息
- 实现原理也很简单,接受到信息,调用get_response()方法,把消息传给图灵机器人,然后接收的回复信息再返回给微信,大致是这个原理
- 最后是登录接口的调用,执行itchat.auto_login(),执行的python代码,会弹出一个登录二维码,类似网页端的扫码登录,你扫码登录后,就会由机器人替你处理朋友以及群里发来的消息啦,当然,如果不希望机器处理,你退出网页端的登录即可
- 执行代码
总结
这个库的功能还有很多,这里代码君只是做简单的介绍而已,其实,大家发挥一下你们的聪明才智,会发现,这个可以有很多想象的空间,
- 很多淘宝客估计也是基于这个原理,根据用户输入的词,机器人可以推荐对应的商品,这里代码君之前有搞过一次,公众号《淘甄货》原理就是基于此,大家可以去体验一下
- 群助手,不光可以聊天,还可以监听一些其他的呀,只不过代码君没对信息做处理,比如群里有人发广告信息之类的,你就可以调用删除群成员接口,这样就给群里创造一个好的环境体验,当然你得是群主才有这个权限
- 代码君还看到itchat的API,可以获取微信里面关注的公众号信息,我想那些刷粉丝量的黑产应该是基于此,哈哈,我好像发现了一个发家致富的途径,好啦,我能想到的用途就这几个,剩下的就交给广大的读者去脑洞大开啦,发财了别忘记回来给代码君打赏一下~