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实现在pickling的时候压缩的方法
Sep 25 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
Python中logging实例讲解
Jan 17 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
python里反向传播算法详解
Nov 22 Python
pyqt5实现井字棋的示例代码
Dec 07 Python
pytorch 中forward 的用法与解释说明
Feb 26 Python
django注册用邮箱发送验证码的实现
Apr 18 Python
python元组打包和解包过程详解
Aug 02 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日历[测试通过]
2008/03/27 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
xtree.js 代码
2007/03/13 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python中函数传参详解
2016/07/03 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
奇怪的鱼:Weird Fish
2018/03/18 全球购物
个人实用简单的自我评价
2013/10/19 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
生产班组长岗位职责
2014/01/05 职场文书
国培远程培训感言
2014/03/08 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
党校学习党性分析材料
2014/12/19 职场文书
安全保证书格式
2015/02/28 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers