Python使用20行代码实现微信聊天机器人


Posted in Python onJune 05, 2020

近来,打开微信群发消息,就会秒收到一些活跃分子的回复,有的时候感觉对方回答很在理,但是有的时候发现对方的回答其实是驴唇不对马嘴,仔细深究发现,原来对方是机器人。今天,小编就带大家用20行代码,带你一起打造一个微信聊天机器人,让你的微信群一直嗨不停~~

首先我们需要安装一个微信相关的第三方库,itchat,在Windows上通过命令:pip install itchat,就可以将其安装。

其二,我们需要去图灵机器人官网:http://www.tuling123.com,注册一下,即可获得一个机器人API。过程很简单,小伙伴不用担心,两分钟就可以搞定了,在如下的界面进行机器人名称、应用领域、终端进行设置即可。

Python使用20行代码实现微信聊天机器人

创建机器人

之后就会得到一个机器人API,如下图所示:

Python使用20行代码实现微信聊天机器人

机器人API

当然你也可以绑定微信号、微信公众号或者扣扣、微博等。其实很多的淘宝店、京东商城也都是这种套路,只不过那些机器人更加“聪明”些,比较是高价买入的,而我们使用的只是免费的版本,但是对于我们本着玩玩的心态来说,已经非常不错了。

Python使用20行代码实现微信聊天机器人

上述准备工作完成之后,我们就要开始写代码了。打开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()

之后右键运行程序,尔后会弹出二维码,之后在手机上进行扫码授权,让机器人登录即可。这个过程需要耐心的等待一小会,接下来只要你的微信好友或者微信群发来任何消息,你都会立马自动进行回复,根本停不下来。如果只需要在微信群中回复的话,那么只需要把微信好友接收消息的方法进行注释即可,同理,微信群也是如此。

Python使用20行代码实现微信聊天机器人

图灵机器人

最后安利一下,itchat.auto_login()方法。这个方法的意思是通过微信扫描二维码登录。但是这种登录的方式确实短时间的登录,并不会保留登录的状态,也就是下次登录时还是需要扫描二维码,如果加上hotReload==True的话,那么就会保留登录的状态,至少在后面的几次登录过程中不会再次扫描二维码,该参数生成一个静态文件itchat.pkl,和实现机器人这个代码在同一个目录下,其作用是用于存储登录状态。

Python使用20行代码实现微信聊天机器人

机器人聊天图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
Jun 16 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
Dec 19 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
详解Python的三种拷贝方式
Feb 11 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
Pycharm plot独立窗口显示的操作
Dec 11 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 #Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 #Python
python3读取autocad图形文件.py实例
Jun 05 #Python
Python实现加密接口测试方法步骤详解
Jun 05 #Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 #Python
python 引用传递和值传递详解(实参,形参)
Jun 05 #Python
Python检测端口IP字符串是否合法
Jun 05 #Python
You might like
PHP程序员不应该忽略的3点
2015/10/09 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
javascript 控制弹出窗口
2007/04/10 Javascript
jQuery 学习 几种常用方法
2009/06/11 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
JavaScript中的this机制
2016/01/30 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Python清空文件并替换内容的实例
2018/10/22 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python实现图片转字符小工具
2019/04/30 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
大学生的网上创业计划书
2013/12/31 职场文书
喷漆工的岗位职责
2014/03/17 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
先进教师事迹材料
2014/12/16 职场文书
向女朋友道歉的话
2015/01/20 职场文书
诚实守信主题班会
2015/08/13 职场文书