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


猜你喜欢
- Vue.js是一个JavaScript框架,可用于构建Web应用程序的前端框架。特别是在创建复杂功能时,对于每个项目,有必要在我们的应用程序
- 前言我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包
- 第一步:下载和安装python-3.4.4amd.msi可以去官方网站下载,也可以从网盘下载: 链接: https://pan.baidu.
- 对于数据库这一块询问比较多的就是在 MySQL 中怎么去选择一种何时当前业务需求的存储引擎,而 MySQL 中支持的存储引擎又有很多种,那么
- 基本上是因为jupyter notebook的kernel所用的python和命令提示符中的python环境不一样。首先分别在cmd和jup
- BMP文件头定义:WORD 两个字节 16bitDWORD 四个字节 32bitpackage main import ( "en
- 为什么需要优雅关闭什么叫优雅关闭?先说不优雅关闭,就是什么都不管,强制关闭进程,这会导致有些正在处理中的请求被强行中断这样做有什么问题?用户
- pyfinance简介在查找如何使用Python实现滚动回归时,发现一个很有用的量化金融包——pyfinance。顾名思义,pyfinanc
- 有时在项目中会遇到通过在页面中采用iframe的方式include其它页面,这时就会考虑不要因出现滚动条而影响页面效果,但include页面
- 学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓“
- 爬取某人的微博数据,把某人所有时间段的微博数据都爬下来。具体思路:创建driver-----get网页----找到并提取信息-----保存c
- python有时候需要清除字符串前后空格,而字符本身的空格不需要清除掉,那就不能用正则re.sub来实现。这时用到strip()函数用法:s
- 本文实例为大家分享了java连接mysql底层封装代码,供大家参考,具体内容如下连接数据库package com.dao.db;import
- 前不久微信上线了拍一拍功能,刚推出就被有才的网友玩坏了。还有更多没有节操的拍法这里就不展示了。但拍一拍属于弱提示,只有在聊天界面才能感受到。
- 1. TinyMCE免费,开源,轻量的在线编辑器,基于 javascript,高度可定制,跨平台。2. FCKEditor免费,开源,用户量
- 本文研究的主要是Python生成器及其应用,具体如下。一、定义可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调
- python虽然是一门'慢语言',但是也有着比较多的性能检测工具来帮助我们优化程序的运行效率。这里总结了五个比较好的pyth
- create proc addcolumn@tablename varchar(30), --表名@colname varchar(30),
- 一个封装好的链接Oracle数据库的工具类,可以方便的获取Connection对象关闭Statement、ResultSet、Statmen
- 如何用WSH获取机器的IP配置信息?我们用VBSCRIPT转换了: Option Explicit Dim&n