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读写文件方法总结
Jun 09 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
Python实现的爬虫功能代码
Jun 24 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python简易计算器制作方法代码详解
Oct 31 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
Python高并发和多线程有什么关系
Nov 14 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 Python
5行Python代码实现一键批量扣图
Jun 29 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
Memcached常用命令以及使用说明详解
2013/06/27 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
浅谈numpy数组的几种排序方式
2017/12/15 Python
python3学生名片管理v2.0版
2018/11/29 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
关于抽烟的检讨书
2014/02/25 职场文书
设计顾问服务计划书
2014/05/04 职场文书
活动倡议书范文
2014/05/13 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
PHP命令行与定时任务
2021/04/01 PHP
HTML基本元素标签介绍
2022/02/28 HTML / CSS