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 相关文章推荐
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
Python KMeans聚类问题分析
Feb 23 Python
解决Python3.5+OpenCV3.2读取图像的问题
Dec 05 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
Python 使用多属性来进行排序
Sep 01 Python
Python3离线安装Requests模块问题
Oct 13 Python
Django通过dwebsocket实现websocket的例子
Nov 15 Python
Python自定义sorted排序实现方法详解
Sep 18 Python
Python结合百度语音识别实现实时翻译软件的实现
Jan 18 Python
详解Python中openpyxl模块基本用法
Feb 23 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php include和require的区别深入解析
2013/06/17 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
PHP中header用法小结
2016/05/23 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
python 换位密码算法的实例详解
2017/07/19 Python
详解Python with/as使用说明
2018/12/13 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python 表格打印代码实例解析
2019/10/12 Python
教师见习期自我鉴定
2014/04/28 职场文书
给校长的建议书300字
2014/05/16 职场文书
工作推荐信模板
2015/03/25 职场文书
行为习惯主题班会
2015/08/14 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
导游词之日本富士山
2020/01/06 职场文书
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python