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中的迭代器漫谈
Feb 03 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
代码讲解Python对Windows服务进行监控
Feb 11 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
python 堆和优先队列的使用详解
Mar 05 Python
python中return的返回和执行实例
Dec 24 Python
深入浅析Python 命令行模块 Click
Mar 11 Python
基于Python把网站域名解析成ip地址
May 25 Python
python dict乱码如何解决
Jun 07 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
解决pytorch 保存模型遇到的问题
Mar 03 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 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的特殊设置
2006/10/09 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
python的常见命令注入威胁
2013/02/18 Python
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
python实现字符串加密成纯数字
2019/03/19 Python
关于Python作用域自学总结
2019/06/10 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
几个SQL的面试题
2014/03/08 面试题
应聘护士自荐信
2013/10/21 职场文书
个人评价范文分享
2014/01/11 职场文书
读书活动实施方案
2014/03/10 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
新人入职感言
2015/07/31 职场文书
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android