十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家介绍怎么用python打造一个微信群聊助手,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
站在用户的角度思考问题,与客户深入沟通,找到托里网站设计与托里网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名与空间、网页空间、企业邮箱。业务覆盖托里地区。教大家如何用20行Python代码实现微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好友的公测,效果还可以。
1.安装python环境,python2.x或着python3.x都行对此程序无影响
2.mac自带python,只需要安装python的itchat库即可
pip install itchat
3.windows下需要提前安装好python程序,然后安装itchat库即可,安装好python后,打开cmd出现如下所示表示python已经装好
4.Linux下没做测试,在此不做赘述。
5.申请图灵机器人API和key(图灵机器人官网可自行百度)
这个你只要去图灵机器人官网注册一下就可以获取免费的key,当然免费的会有部分限制,不过用于我们测试玩,完全够用.登录后界面如下所示:
6.编写python程序,具体代码如下
import itchat import requests def get_ response(msg): apiUrl 'http://www.tuling123.com/openapi/api' #改成你自己的图灵机器人的api, 上图红框中的内容, 不过用我的也无所谓,只是每天 自动回复的消息条数有限 data = { 'key': 769e14179d3844948f84364d92fbd14b, # Tuling Key 'info': msg, #这是我们发出去的消息 'userid': 'wechat-robot', # 这里你想改什么都可以 } 我们通过如下命令发送一个post请求 = 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()
7.执行python脚本后,会弹出微信网页版登录二维码,扫描登录网页版微信(或者会提示手机微信授权登录),微信机器人就可以正常使用了,此时别人给你发消息会自动回复,群消息也会自动回复,如果想退出程序,直接Ctrl+C退出程序,即可结束自动回复
python wechat.py #执行python脚本,可自由命名,windows下如图所示
登录成功后如下图所示:
大致原理简介:
用到两个库,一个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代码,会弹出一个登录二维码,类似网页端的扫码登录,你扫码登录后,就会由机器人替你处理朋友以及群里发来的消息啦,当然,如果不希望机器处理,你退出网页端的登录即可。
关于怎么用python打造一个微信群聊助手就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。