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 相关文章推荐
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
简单了解Python下用于监视文件系统的pyinotify包
Nov 13 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
django2.0扩展用户字段示例
Feb 13 Python
python pygame实现方向键控制小球
May 17 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
python在一个范围内取随机数的简单实例
Aug 16 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 Python
python基础之类属性和实例属性
Oct 24 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
各种战术和打法的原创者
2020/03/04 星际争霸
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
用Python生成器实现微线程编程的教程
2015/04/13 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
就业推荐表自我鉴定
2013/10/29 职场文书
电信专业毕业生推荐信
2013/11/18 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
小学生作文评语
2014/04/18 职场文书
贷款担保申请书
2014/05/20 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
银行求职信模板
2015/03/20 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
Python实现学生管理系统(面向对象版)
2021/06/24 Python