资讯专栏INFORMATION COLUMN

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

caikeal / 1904人阅读

摘要:先来看下效果实际使用不需要打开手机,此处为演示需要实现代码主要有两个部分接收红包消息直接从手机端微信获取数据比较麻烦,主流的方法都是通过微信网页版来获取。这里我用的是,通过即可安装,之前我也写过文章介绍微信机器人进化指南。

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

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

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

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

1、接收红包消息

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

项目地址:

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("重要提醒","有人发红包啦!")

最终效果视频演示:

python微信红包提醒演示 https://www.zhihu.com/video/1073230800832622592

完整代码就上面这两段,如果你要下载也可以在公众号 (Crossin的编程教室) 里回复关键字 红包 ,里面还包含了一篇关于红包算法讨论的旧文。

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

不要频率过高过快的发送消息,也是有很大概率被限制网页版登录

登录状态有可能掉线,而且掉线是不会有通知的

不支持领取红包

切勿拿来做什么不好的事情(凭现在的功能其实也做不了啥)

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

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

不用谢!

════

其他文章及回答:

如何自学Python | 新手引导 | 精选Python问答 | Python单词表 | 人工智能 | 爬虫 | 我用Python | requests | 计算机视觉 | 字符播放器 | 一图学Python | 智能防挡弹幕

欢迎搜索及关注公众号: Crossin的编程教室

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43115.html

相关文章

  • Python写一份独特的元宵节祝福

    摘要:今天是正月十五,首先祝大家元宵节快乐以前加过我个人微信号的朋友,可以在朋友圈看到我今天发的元宵节祝福图片这个祝福文字乍一看其貌不扬,不过点开大图有惊喜是拿自己微信好友的头像拼成的这是通过编程生成的。 今天是正月十五,首先 祝大家元宵节快乐! 以前加过我个人微信号的朋友,可以在朋友圈看到我今天发的元宵节祝福图片: showImg(https://segmentfault.com/img/...

    ConardLi 评论0 收藏0
  • Python自动抢红包,超详细教程,也不会错过微信红包了!

    摘要:首先要打开微信,进入到指定的群聊,识别微信红包执行抢红包的动作。是一款基于控件识别的自动化测试框架,目前支持原生原生微信小程序,也可以在其他引擎中自行接入来使用。 showImg(https://segmentfault.com/img/remote/1460000019438856); 目录:0 引言1 环境2 需求分析3 前置准备4 抢红包流程回顾5 代码梳理6 后记 0 引言 提...

    CoderBear 评论0 收藏0
  • 来迟了,Python助你叠猫猫,抢618大红包

    摘要:目录引言环境需求分析前置准备逛店铺流程回顾代码全景展示总结引言最近叠猫猫的活动可真是十分的火爆,每天小伙伴们为了合猫猫忙的可谓是如火如荼。为啥要叠猫猫呢赚猫币得现金红包眼看为实,先来看看我朋友的购物订单。 目录:0 引言1 环境2 需求分析3 前置准备4 逛店铺流程回顾5 代码全景展示6 总结 0 引言 最近叠猫猫的活动可真是十分的火爆,每天小伙伴们为了合猫猫忙的可谓是如火如荼。为啥要...

    tomorrowwu 评论0 收藏0
  • 一个初学编程的草根大叔一个月时间冲上周榜第二名!给想冲榜的后浪们谈谈小经验——

    摘要:今晨起来翻了翻排行榜,发现前天发的文章早已被挤出全站热榜,但却意外发现自己已经站上了作者周榜的亚军宝座。作为一个草根初习者一个月冲上周榜亚军实属不易,也不是我刻意准备想冲榜而全是意外。 今晨起来翻了翻CDSN排行榜,发现前天发的文章早已被挤出全站热榜,但却意外发现自己已经站上了作者周榜的亚军...

    _ivan 评论0 收藏0
  • Python 和Java 哪个更适合做自动化测试?

    摘要:而对于功能测试升级来说,一般有这么个主流的发展方向一是性能测试,一是接口测试,一是自动化测试。主要被应用于的接口测试之中。 很多小伙伴工作在功能测试行业工作了2、3年后,发现自己已经把功能测试做的非常好了,已经到职业发展和薪资发展的瓶颈期了,就想着学点东西,提提升一下技能。   而对于功能...

    jkyin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<