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字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
Python中的变量和作用域详解
Jul 13 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
Python实现读取并保存文件的类
May 11 Python
Python探索之爬取电商售卖信息代码示例
Oct 27 Python
PyQt5每天必学之事件与信号
Apr 20 Python
python中的json总结
Oct 11 Python
Python分割指定页数的pdf文件方法
Oct 26 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
python如何基于redis实现ip代理池
Jan 17 Python
pandas使用之宽表变窄表的实现
Apr 12 Python
Python astype(np.float)函数使用方法解析
Jun 08 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
写一个用户在线显示的程序
2006/10/09 PHP
解析php常用image图像函数集
2013/06/24 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
Javascript实现单例模式
2016/01/24 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
简单介绍Ruby中的CGI编程
2015/04/10 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
如何强制垃圾回收
2015/10/06 面试题
会计专业大学生求职信范文
2014/01/28 职场文书
四年级数学教学反思
2014/02/02 职场文书
医学生求职自荐书
2014/06/12 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
毕业生个人自荐书
2015/03/05 职场文书
施工员岗位职责范本
2015/04/11 职场文书
乱世佳人观后感
2015/06/08 职场文书
旅行社计调工作总结
2015/08/12 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
课改心得体会范文
2016/01/25 职场文书
Python中的程序流程控制语句
2022/02/24 Python
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript