Python 实现微信自动回复的方法


Posted in Python onSeptember 11, 2020

众所周知QQ上面是可以设置自动回复的,但是微信上面并不可以。最近在学习Python,发现Python的适用范围是真的很广,这里使用itchat组件实现微信的自动回复

1:安装itchat

pip install itchat

2:简单实例:

(1):发送信息

import itchat
itchat.auto_login()
name = itchat.search_friends(name=u'XX') #XX表示昵称或用户名
userName = name[0]["UserName"]
print(userName )
itchat.send_msg('。。。', toUserName=userName)

(2):回复发给自己的文本消息

import itchat
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
  return msg.text
itchat.auto_login()
itchat.run()

3:实现微信自动回复

这里使用到了图灵机器人 http://www.tuling123.com/

注册一个账号添加一个机器人然后根据api文档使用接口即可获得机器人返回值

#获取图灵机器人回复信息
def get_msg(msg):
apiUrl = 'http://openapi.tuling123.com/openapi/api/v2'
data = {
  "perception": {
    "inputText": {
      "text": msg
    },
  },
  "userInfo": {
    "apiKey": "cfada3289203426f842746afdc5c0806",
    "userId": "demo"
  }
}
data = json.dumps(data)
try:
r = requests.post(apiUrl,data = data).json()
return r['results'][0]['values']['text']
except:
return ''
#正常消息自动回复
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):
print(msg.type)
#设置默认回复
defaultmsg = '你好'
#获取图灵机器人的回复信息
reply = get_msg(msg['Text'])
#如果图灵机器人回复信息有误则使用默认回复
replymsg = reply or defaultmsg
return replymsg
#音频,图片自动回复
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
  msg.download(msg.fileName)
  typeSymbol = {
    PICTURE: 'img',
    VIDEO: 'vid', }.get(msg.type, 'fil')
  return '@%s@%s' % (typeSymbol, msg.fileName)
#好友请求,自动添加并打招呼
@itchat.msg_register(FRIENDS)
def add_friend(msg):
  msg.user.verify()
  msg.user.send('Nice to meet you!')
#群消息自动回复
@itchat.msg_register(TEXT, isGroupChat=True)
def text_reply(msg):
#设置默认回复
defaultmsg = '你好'
#获取图灵机器人的回复信息
reply = get_msg(msg['Text'])
#如果图灵机器人回复信息有误则使用默认回复
replymsg = reply or defaultmsg
return replymsg
itchat.auto_login(hotReload=True)
itchat.run(True)

以上就是Python 实现微信自动回复的方法的详细内容,更多关于python 微信自动回复的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
设置python3为默认python的方法
Oct 31 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
Python字典的概念及常见应用实例详解
Oct 30 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
零基础学python应该从哪里入手
Aug 11 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 Python
在pycharm中无法import所安装的库解决方案
May 31 Python
Python天气语音播报小助手
Sep 25 Python
python 如何调用远程接口
Sep 11 #Python
Visual Studio code 配置Python开发环境
Sep 11 #Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 #Python
python如何实现图片压缩
Sep 11 #Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 #Python
详解Python中import机制
Sep 11 #Python
python使用隐式循环快速求和的实现示例
Sep 11 #Python
You might like
制作美丽的拉花
2021/03/03 冲泡冲煮
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
PDO::errorInfo讲解
2019/01/28 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
TensorFlow变量管理详解
2018/03/10 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Pytorch之parameters的使用
2019/12/31 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
python实现图片转字符画的完整代码
2021/02/21 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
工程类专业自荐信范文
2014/03/09 职场文书
清洁工工作总结
2015/08/11 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers
python开发人人对战的五子棋小游戏
2022/05/02 Python