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

yipeiwu_com6年前Python基础

 01 前言&&效果展示

相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息。但微信又不能像QQ一样设置自动回复。无妨,今天,我们就来用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实现微信自动回复,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python深入学习之内存管理

Python深入学习之内存管理

语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。这里以Python语言为例子,说明一门动态类型...

基于Python实现的微信好友数据分析

基于Python实现的微信好友数据分析

最近微信迎来了一次重要的更新,允许用户对”发现”页面进行定制。不知道从什么时候开始,微信朋友圈变得越来越复杂,当越来越多的人选择”仅展示最近三天的朋友圈”,大概连微信官方都是一脸的无可奈...

用 Python 爬了爬自己的微信朋友(实例讲解)

用 Python 爬了爬自己的微信朋友(实例讲解)

最近几天干啥都不来劲,昨晚偶然了解到 Python 里的 itchat 包,它已经完成了 wechat 的个人账号 API 接口,使爬取个人微信信息更加方便。鉴于自己很早之前就想知道诸如...

解决python打不开文件(文件不存在)的问题

今天使用 import pandas users = pandas.read_csv("H:\python\data analysis\countries.csv") 问题 引入数...

Django migrations 默认目录修改的方法教程

如何使用 migrations的使用非常简单: 修改model, 比如增加field, 然后运行 python manager.py makemigrations 你的mmod...