用Python写个了红包提醒,再不怕错过一个亿了

简介: 发出声音需要用到调用系统接口,Windows 和 Mac 有不同的实现,或者也可以通过 pygame 播放 MP3 文件。上面三种方法保留一种即可。

又到了辞旧迎新的时候,群里的红包也多起来了。然而大佬们总是喜欢趁我不在的时候发红包,经常打开手机,发现红包已被抢完,感觉错过了一个亿。


安卓上有不少红包助手工具,但 iOS 似乎没有。而且就算有,这种需要很高权限的第三方插件工具总让人不那么放心。所以我还是自己来做一个好了。如果要求不那么高,只要在出现红包的时候发出提醒,那么实现起来并不复杂。


先来看下效果(实际使用不需要打开手机,此处为演示需要):



实现代码主要有两个部分:


1、接收红包消息


直接从手机端微信获取数据比较麻烦,主流的方法都是通过微信网页版来获取。因为网页版的消息接口可以被抓包分析,比较容易获取和使用。目前主流的包都是通过这个方式,使用比较多的库有 itchatwxpy。这里我用的是 itchat,通过 pip 即可安装,之前我也写过文章介绍:《微信机器人进化指南》。


项目地址:


https://github.com/littlecodersh/ItChat


核心代码:


import itchat
@itchat.msg_register('Note', isGroupChat=True)
def get_note(msg):
    if '红包' in msg['Text']:
        print('note:',msg['Text'])
        alarm()  # 自定义提醒
itchat.auto_login(hotReload=True)
itchat.run()
itchat.logout()


msg_register是注册消息时间的响应函数,'Note'是红包、转账等通知消息类型,isGroupChat=True包含了群聊。当网页版收到红包后,会显示“收到红包,请在手机上查看”。所以判断消息文本中包含“红包”字样时,就发出提醒。


由于是基于网页版运行,代码运行后,需要用手机扫二维码登录


2、发通知


最简单的通知方法就是发出声音,在 Python 中有几种不同实现:


def alarm():
    # Windows嗡鸣声
    import winsound
    winsound.Beep(1000, 3000)
    # Mac语音
    import os
    os.system('say "有人发红包了,赶紧去抢啊!"')
    # 播放MP3
    import pygame
    pygame.mixer.init()
    track = pygame.mixer.music.load('alarm.mp3')
    pygame.mixer.music.play()


发出声音需要用到调用系统接口,WindowsMac 有不同的实现,或者也可以通过 pygame 播放 MP3 文件。上面三种方法保留一种即可。


还嫌不够的话,可以弹个窗:


import tkinter.messagebox 
tkinter.messagebox.showinfo('重要提醒','有人发红包啦!')


最终效果视频演示:


不过由于大量自动化营销机器人都在使用微信网页版接口,现在网页版的功能已被删减许多,且刚注册的新号已无法登录网页版。有传言说可能之后会取消网页版,就像之前的 Web QQ。你在使用 itchat 的时候要注意:


  1. 不要频率过高过快的发送消息,也是有很大概率被限制网页版登录
  2. 登录状态有可能掉线,而且掉线是不会有通知的
  3. 不支持领取红包
  4. 切勿拿来做什么不好的事情(凭现在的功能其实也做不了啥)


自动抢红包实现起来就要复杂很多,需要从安卓 APP 层面入手。而且这本身也有风险,据说抢得太快是有可能被系统识别限制账号的红包功能,所以请谨慎尝试。我这里也不多说了。


如果你真想自动抢,我给你指条明路:



不用谢!


话说,抢到红包之后怎么办?当然是交给妈妈帮你存起来啦或者,你也可以了解一些金融、理财方面的知识,让资产保值增值,生活更有保障。比如像我这位朋友--保哥,他的公众号【 保哥和八姐 】就可以让你增加对保险的了解。


保哥毕业于中南财大,在保险公司摸爬滚打了十年,主要是做保险产品设计和核赔类工作。现在开始写公号,一是而立之年已过,想对多年的工作经验做一些梳理,二是确实也喜欢写作,年轻时有一个作家梦。


他的老婆八姐是早稻田的金融硕士,标准的学霸一枚,也在金融圈内混,经常香港大陆两地跑,偶尔也会帮老公写点文章。

保哥的公号我经常看,通过他的文章学会了不少保险知识,理清了自己家庭的保障方案,避免了很多坑,对这方面有需求的朋友不妨看一看。

相关文章
|
2月前
|
小程序 API 开发工具
使用python 实现微信签到提醒功能
【9月更文挑战第4天】使用python 实现微信签到提醒功能
66 2
|
6月前
|
Python
10个Python绘画表白代码【内附源码,再不收藏你只能单身了】_有趣的python代码表白
10个Python绘画表白代码【内附源码,再不收藏你只能单身了】_有趣的python代码表白
|
6月前
|
人工智能 搜索推荐 算法
使用Python自动发邮件提醒你周末吃啥
在快节奏的现代生活中,周末往往是人们放松身心、享受美食的宝贵时光。然而,面对琳琅满目的餐饮选择,很多人常常陷入“吃什么”的纠结中。为了解决这一问题,我们可以利用Python编写一个自动化脚本,每周自动发送邮件提醒我们周末的餐饮选择
49 0
|
IDE Java 开发工具
一日一技:如何让 Python 提醒你不能覆盖某个父类方法?
一日一技:如何让 Python 提醒你不能覆盖某个父类方法?
208 0
一日一技:如何让 Python 提醒你不能覆盖某个父类方法?
天气变冷了,用Python给爸妈制作一个天气提醒小助手
天气变冷了,用Python给爸妈制作一个天气提醒小助手
|
Shell Linux C#
用Python3、NetCore、Shell分别开发一个Ubuntu版的定时提醒(附NetCore跨平台两种发布方式)
Python3 与 NetCore基础语法对比:https://www.cnblogs.com/dunitian/p/9103673.html 彩色版最新版:https://www.cnblogs.com/dotnetcrazy/p/9111200.html 新增直接运行py文件的补充:请在py前面加上:#!/usr/bin/env python3 然后再执行 sudo chmod +x ./task.py 下次运行直接 ./task.py 平时经常用定时提醒来提高工作效率,到了Linux。
1663 0
|
Shell Linux 数据库
利用python制作在Linux服务器后台定时运行的任务-邮件提醒
1. 自动任务的功能为:   定时扫描数据库中的记录,然后发邮件 代码如下 scheduleMail.py import pymysql import smtplib from email.
2379 0
|
1天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
13 4
|
1天前
|
设计模式 程序员 数据处理
编程之旅:探索Python中的装饰器
【10月更文挑战第34天】在编程的海洋中,Python这艘航船以其简洁优雅著称。其中,装饰器作为一项高级特性,如同船上的风帆,让代码更加灵活和强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一起感受编程之美。

热门文章

最新文章