10分钟教你用Python实现微信自动回复功能


Posted in Python onNovember 28, 2018

 01 前言&&效果展示

相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息。但微信又不能像QQ一样设置自动回复。无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把接收到的消息统一发送到文件助手里面,方便统一查看。

效果如下:

10分钟教你用Python实现微信自动回复功能10分钟教你用Python实现微信自动回复功能

02 环境准备

Python版本:3.6.0
系统平台:Windows 10 X64
IDE:pycharm

相关模块:
time模块;
itchat模块;

以及一些Python自带的模块。

03 实现原理

其实原理很简单,主要是利用itchat登录微信后,注册消息方法。itchat将根据接收到的消息类型寻找对应的已经注册的方法。如果一个消息类型没有对应的注册方法,该消息将会被舍弃。在这里我们主要注册的是文字类型的消息方法。然后判断消息来源,如果不是自己发出的消息,则将消息转发到文件助手,然后自动回复对方。代码如下:

# 自动回复
 # 封装好的装饰器,当接收到的消息是Text,即文字消息
 # 注册消息响应事件,消息类型为'Text',即文本消息
 @itchat.msg_register('Text')
 def text_reply(msg):
  # 当消息不是由自己发出的时候
  if not msg['FromUserName'] == myUserName:
   # 发送一条提示给文件助手
   itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %
      (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),
       msg['User']['NickName'],
       msg['Text']), 'filehelper')
  # 回复给好友
  return '[自动回复]您好,我现在有事不在,一会再和您联系。\n已经收到您的的信息:%s\n' % (msg['Text'])

转到文件助手的时候,注意把时间什么的添加上去。看上去效果更好。

04 后台登录

然后就可以把我们的微信挂在后台自动回复了。注意运行的时候获取一下自己的微信名,以便用来判断消息是不是自己发出的。

if __name__ == '__main__':
 itchat.auto_login()
 # 获取自己的UserName
 myUserName = itchat.get_friends(update=True)[]["UserName"]
 itchat.run()

10分钟教你用Python实现微信自动回复功能

总结

以上所述是小编给大家介绍的10分钟教你用Python实现微信自动回复,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python中返回字典键的值的values()方法使用
May 22 Python
详谈python中冒号与逗号的区别
Apr 18 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
Windows下安装Scrapy
Oct 17 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
python安装numpy和pandas的方法步骤
May 27 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
python区分不同数据类型的方法
Oct 14 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
opencv 分类白天与夜景视频的方法
Jun 05 Python
Linux CentOS Python开发环境搭建教程
Nov 28 #Python
Python 获取中文字拼音首个字母的方法
Nov 28 #Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 #Python
python如何查看微信消息撤回
Nov 27 #Python
python中退出多层循环的方法
Nov 27 #Python
为什么Python中没有"a++"这种写法
Nov 27 #Python
django session完成状态保持的方法
Nov 27 #Python
You might like
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
PHP批量生成缩略图的代码
2008/07/19 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP微商城开源代码实例
2019/03/27 PHP
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
python3+PyQt5实现柱状图
2018/04/24 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
小区停车场管理制度
2014/01/27 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL