10分钟教你用Python实现微信自动回复功能
作者:短短的路走走停停 发布时间:2021-03-14 04:04:47
标签: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实现微信自动回复网站的支持!
来源:http://www.cnblogs.com/infroad/p/10029448.html


猜你喜欢
- 本文分享自华为云社区《VSCode使用技巧》,作者:小聪不是小葱~ 。VsCode是一款开源的编辑器,拥有强大的功能,。由于拥有各种各样的插
- 这篇文章主要介绍了基于Django实现日志记录报错信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- python3中,list有个reverse函数,用来反转列表元素,但是如果想要反转部分元素呢?a = [1,2,3,4,5]a[0:3].
- 如果显示网格,代码应类似这样:<div class="container"><div class=&q
- 本文实例讲述了Python面向对象思想与应用。分享给大家供大家参考,具体如下:面向对象思想1、面向对象的设计思想面向对象是基于万物皆对象这个
- 爬楼梯(Climbing-Stairs)题干:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同
- 本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法。分享给大家供大家参考,具体如下:--循环执行添加操作declar
- Sql Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中
- session的本质使用cookie来实现。原理大概是:http 带来服务端提前设置 cookie,服务端拿到标示用户身份的cookie,
- 今天大概弄懂了partition by和group by的区别联系。1. group by是分组函数,partition by是分析函数(然
- 前言:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。官网给出
- Java timezone设置和mybatis连接数据库时区设置JVM时区设置springboot工程运行时,需要指定时区,这样获取的时间才
- 想买mate40,但总是抢不到,所以想试着能不能写个脚本代码。第一步:把想要抢购的商品加进购物车,注意:脚本是对购物车内全部商品进行下单操作
- Python数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:GadFlymSQL MySQL PostgreSQL Micros
- git config --global设置用户名和邮件安装好git后,在命令行或终端中使用下面的命令可以设置git自己的名字和电子邮件。这是
- 方法不是主流的。有一组数据,大概10万个左右,每一单位的值不会大于30000,要求按照由大到小的顺序不重复输出。参考无忧cosin的方法后(
- IF函数IF(expression ,expr_true, expr_false);MySQL的IF()函数,接受三个表达式,如果第一个表达
- 问题我们需要以某种对齐方式将文本做格式化处理。解决方案对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center
- 目录1.编写模块结构1.1 git创建空文件1.2 编写包功能函数1.3 包必备函数1、README.md文件是在git上生成的说明项目的文
- 前几天安装Python的时候没有装上pip工具,所以只能现在手动安装了。首先,访问https://bootstrap.pypa.io/get