阅读文本大概需要 4分钟。
最近后台有朋友问我学Python去哪刷题?我觉得看完Python的基础知识后,如果不着急找工作,在力扣上适当的刷刷题巩固下基础知识后,可以慢慢学着写一些有趣的小项目,对你学习Python会更有帮助些。
对于大家困惑的怎么从Python理论跨越到实践的问题,可以看看我写的为什么学了这么久Python,还是写不出项目?3招帮你解决这个问题。
今天我就来和大家分享下最近研究的一个Python趣味实战项目,用Python制作一个微信抢红包提醒助手。
有的同学可能觉得这不是一个新颖的话题,网上很多人都写过了,但我写的这个抢红包提醒助手,主要有以下几个创新点:
(1).只用安装wxpy库,网上关于这个项目用的itchat库,但这对于新手来说并不友好,而且wxpy库其实已经封装了itchat的功能,所以只安装wxpy库也是可以的。
(2).可以监控群里某个人,比如某个群里经常发红包的大佬,但有的群平时大家都在水群,很多人习惯将这种群设置为「消息免提醒状态」,这样往往就会和红包失之交臂。
(3).一旦监控到发红包,可以将消息发送给需要提醒的人,如果没有提醒的人,那么就自动发送到微信的文件助手。
(4).监控到有人发红包后,不仅会有发送消息的提醒,我还设置了声音、窗口提醒,这样使得整个项目运行起来显得更有趣。
听了我上面的介绍,是不是有点迫不及待啦,那就和我一起来看看怎么实现这个趣味项目吧。
1、安装库
pip install wxpy
2、启动群监控机器人
启动一个简单的wxpy机器人,大概只有10行不到,非常简单,我们安装好了wxpy之后就可以敲下面的代码
运行之后会弹出一个二维码扫描的窗口,用微信的扫一扫即可登入(注意,必须是认证过的微信号才行),接着你会看到下面的界面,说明登入成功
3、解释几个关键的参数
对于wxpy不熟悉的同学,可以搜一下wxpy使用文档,我们在写代码的过程中会用到msg这个类,比如msg.chat它会返回群聊group的名字,msg.member返回的是群员,msg.type则返回的是text
这里对type的几个参数简要说明一下
我们比较关注文本和提示,因为红包就是提示类的消息,而文本就是我们普通的聊天内容。
详细可以参考源码路径wxpy.api.messages.message.py
4、如何发出抢红包提醒
在Python中主要有以下几种不同的实现方法
发出声音需要调用系统接口,Windows和Mac实现方法不同,如果你再想花哨点,还可以通过pygame播放MP3。
当然,为了增加项目趣味性,可以增加一个弹窗提醒:
import tkinter.messagebox
tkinter.messagebox.showinfo('重要提醒','有人发红包啦!')
5、监控个人和监控群非常类似
以监控个人为例,代码如下:
6、结果展示