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+django实现文件下载
Jan 17 Python
Python生成随机密码的方法
Jun 16 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python 不以科学计数法输出的方法
Jul 16 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
Python 使用多属性来进行排序
Sep 01 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 Python
python中封包建立过程实例
Feb 18 Python
Python基础之元类详解
Apr 29 Python
详细总结Python常见的安全问题
May 21 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
Python 解析XML文件
2009/04/15 Python
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
QML实现钟表效果
2020/06/02 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
体育教学随笔感言
2014/02/24 职场文书
企业承诺书怎么写
2014/05/24 职场文书
文明城市标语
2014/06/16 职场文书
应届生求职自荐信
2014/07/04 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
放假通知怎么写
2015/08/18 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
Node实现搜索框进行模糊查询
2021/06/28 Javascript
vue实现拖拽交换位置
2022/04/07 Vue.js