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连接mysql并提交mysql事务示例
Mar 05 Python
python类继承用法实例分析
Oct 10 Python
tensorflow实现简单逻辑回归
Sep 07 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
pandas 如何分割字符的实现方法
Jul 29 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
python接入支付宝的实例操作
Jul 20 Python
Python实现自动整理文件的脚本
Dec 17 Python
Python爬虫基础初探selenium
May 31 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
3个用于数据科学的顶级Python库
2018/09/29 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
什么是命名空间(NameSpace)
2015/11/24 面试题
局域网标准
2016/09/10 面试题
四年大学生活的自我评价范文
2014/02/07 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
赞助商致辞
2015/07/30 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
python状态机transitions库详解
2021/06/02 Python
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server