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 相关文章推荐
python抓取某汽车网数据解析html存入excel示例
Dec 04 Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 Python
使用简单工厂模式来进行Python的设计模式编程
Mar 01 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
python数字图像处理之高级形态学处理
Apr 27 Python
利用python实现对web服务器的目录探测的方法
Feb 26 Python
Python更换pip源方法过程解析
May 19 Python
python程序如何进行保存
Jul 03 Python
Python爬虫教程知识点总结
Oct 19 Python
Python数据模型与Python对象模型的相关总结
Jan 26 Python
Python中os模块的简单使用及重命名操作
Apr 17 Python
python playwrigh框架入门安装使用
Jul 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
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
jQuery使用技巧简单汇总
2013/04/18 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
web.py在模板中输出美元符号的方法
2014/08/26 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
如何利用python生成MD5并去重
2020/12/07 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
农行实习自我鉴定
2013/09/22 职场文书
电子商务应届生求职信
2013/11/16 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
岗位说明书范文
2014/05/07 职场文书
综合素质评价自我评价
2015/03/06 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
Redis入门教程详解
2021/08/30 Redis
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android