【Python】30行代码教你将微信变成智能回复机器人
时间:2022-05-05
本文章向大家介绍【Python】30行代码教你将微信变成智能回复机器人,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
摘要:使用微信itchat接口和图灵机器人接口,三十行代码将你的微信变成聊天机器人,自动回复来自好友的消息。
01
—
itchat安装与使用说明
- itchat安装 简单安装:pip install itchat 源码安装(下载地址):https://pypi.python.org/pypi/itchat#downloads windows:下载whl包,直接pip install *.whl即可;Linux 下载tar.gz包运行setup.py即可。
- itchat使用说明
具体详情可以参见官方网站:https://github.com/littlecodersh/ItChat
itchat是一个开源的微信个人号接口,提供很多功能能帮助你处理微信消息,扩展微信功能。
(1)发送消息给文件助手
import itchat
itchat.auto_login()
itchat.send('Hello, filehelper', toUserName='filehelper')
(2)回复文本信息,当收到好友给你发的文本信息时,返回该消息的内容。注意:itchat.content.TEXT就表示文本信息,相应的还有MAP、CARD、SHARING等消息类型,分别表示发送的是地图、名片、分享的内容等。
import itchat
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
return msg.text
itchat.auto_login()
itchat.run()
02
—
图灵机器人接口
通过第一部分的描述,我们知道了通过ITchat可以返回好友发送的消息内容。这里只需要将该消息内容替换成聊天机器人的内容就可以实现微信的自动回复了。我们选用图灵机器人的接口(注册开发者,一天有1000次免费调用机会),链接地址http://www.tuling123.com/。具体使用,需要获得KEY值,访问该网站的web api,得到返回内容即可,如下所示:
KEY = '8edce3ce905a4c1dbb965e6b35c3834d'
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key' : KEY,
'info' : msg,
'userid' : 'pth-robot',
}
try:
r = requests.post(apiUrl, data=data).json()
return r.get('text')
except:
return
得到的聊天机器人聊天过程:
03
—
完整代码
使用说明:运行代码后出现微信二维码,需要扫码才能登陆。
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding( "utf8" )
import itchat
import requests
from itchat.content import *
KEY = '8edce3ce905a4c1dbb965e6b35c3834d'
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key' : KEY,
'info' : msg,
'userid' : 'pth-robot',
}
try:
r = requests.post(apiUrl, data=data).json()
return r.get('text')
except:
return
#自动回复文本消息
@itchat.msg_register([TEXT,MAP,CARD,NOTE,SHARING], isGroupChat=False)
def text_reply(msg):
#print msg['Text']
defaultReply = 'I received: ' + msg['Text']
reply = get_response(msg['Text'])
itchat.send(reply or defaultReply,msg['FromUserName'])
#自动回复图片消息
@itchat.msg_register(PICTURE, isGroupChat=False)
def download_files(msg):
itchat.send('%s: %s' % (msg['Type'], msg['Text']), msg['FromUserName'])
# 扫二维码登录
itchat.auto_login(hotReload=True)
itchat.run()
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python | 使用argparse解析命令行参数
- LeetCode 98 | 判断二叉搜索树是否合法
- LeetCode 96,n个数构建BST的方法有多少种?
- Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作
- 每日一题 | 二进制操作问题
- Pandas | Dataframe的merge操作,像数据库一样尽情join
- 每日一题 | 灾后重建问题
- 树形结构已知子节点找父节点
- 解析 hashMap 源码之基本操作 get
- RCE(远程命令/代码执行漏洞)原理及复现
- 我的Vue不小心跨域了o(╥﹏╥)o 干它
- 金九银十准备季——Java后端多线程&并发面试题及答案(二)
- TypeScript 设计模式之观察者模式
- pytest文档46-关于https请求警告问题
- pytest文档45-allure添加环境配置(environment)