Python使用20行代码实现微信聊天机器人
作者:dcpeng 时间:2023-12-04 12:52:06
近来,打开微信群发消息,就会秒收到一些活跃分子的回复,有的时候感觉对方回答很在理,但是有的时候发现对方的回答其实是驴唇不对马嘴,仔细深究发现,原来对方是机器人。今天,小编就带大家用20行代码,带你一起打造一个微信聊天机器人,让你的微信群一直嗨不停~~
首先我们需要安装一个微信相关的第三方库,itchat,在Windows上通过命令:pip install itchat,就可以将其安装。
其二,我们需要去图灵机器人官网:http://www.tuling123.com,注册一下,即可获得一个机器人API。过程很简单,小伙伴不用担心,两分钟就可以搞定了,在如下的界面进行机器人名称、应用领域、终端进行设置即可。
创建机器人
之后就会得到一个机器人API,如下图所示:
机器人API
当然你也可以绑定微信号、微信公众号或者扣扣、微博等。其实很多的淘宝店、京东商城也都是这种套路,只不过那些机器人更加“聪明”些,比较是高价买入的,而我们使用的只是免费的版本,但是对于我们本着玩玩的心态来说,已经非常不错了。
上述准备工作完成之后,我们就要开始写代码了。打开pycharm,具体代码如下图所示:
import itchat
import requests
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key': '180b4304b4b647d3b1920caf60f', /# Tuling Key,API的值
'info': msg, /# 发出去的消息
'userid': 'xuebaobao', /# 用户名。随意设置
}
r = requests.post(apiUrl, data=data).json() /# post请求
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(hotReload==True) /# 通过微信扫描二维码登录
itchat.run()
之后右键运行程序,尔后会弹出二维码,之后在手机上进行扫码授权,让机器人登录即可。这个过程需要耐心的等待一小会,接下来只要你的微信好友或者微信群发来任何消息,你都会立马自动进行回复,根本停不下来。如果只需要在微信群中回复的话,那么只需要把微信好友接收消息的方法进行注释即可,同理,微信群也是如此。
图灵机器人
最后安利一下,itchat.auto_login()方法。这个方法的意思是通过微信扫描二维码登录。但是这种登录的方式确实短时间的登录,并不会保留登录的状态,也就是下次登录时还是需要扫描二维码,如果加上hotReload==True的话,那么就会保留登录的状态,至少在后面的几次登录过程中不会再次扫描二维码,该参数生成一个静态文件itchat.pkl,和实现机器人这个代码在同一个目录下,其作用是用于存储登录状态。
机器人聊天图
来源:https://www.cnblogs.com/dcpeng/p/13047865.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解JDBC对Mysql utf8mb4字符集的处理
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
JavaScript定义函数的三种实现方法
springboot多数据源配合docker部署mysql主从实现读写分离效果
![](https://img.aspxhome.com/file/2023/6/110836_0s.jpg)
从零学python系列之数据处理编程实例(一)
Python虚拟环境项目实例
![](https://img.aspxhome.com/file/2023/1/100881_0s.png)
浅谈beego默认处理静态文件性能低下的问题
一百行Golang代码实现简单并发聊天室
![](https://img.aspxhome.com/file/2023/3/134153_0s.jpg)
phpstorm断点调试方法图文详解
![](https://img.aspxhome.com/file/2023/9/55259_0s.jpg)
python 利用zmail库发送邮件
![](https://img.aspxhome.com/file/2023/4/118494_0s.png)
python中数据爬虫requests库使用方法详解
![](https://img.aspxhome.com/file/2023/8/76988_0s.jpg)
python 输出所有大小写字母的方法
利用Python操作消息队列RabbitMQ的方法教程
淘宝搜索框研究报告
![](https://img.aspxhome.com/file/UploadPic/20107/27/2010727125528102s.png)
Mysql 错误问题汇总(不断更新中)
Go实现文件上传和下载
![](https://img.aspxhome.com/file/2023/6/86276_0s.png)
详解利用上下文管理器扩展Python计时器
OpenAI的Whisper模型进行语音识别使用详解
![](https://img.aspxhome.com/file/2023/7/90637_0s.png)
vue实现给div绑定keyup的enter事件
![](https://img.aspxhome.com/file/2023/4/126644_0s.jpg)