博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Python写个了红包提醒,再不怕错过一个亿了
阅读量:6324 次
发布时间:2019-06-22

本文共 1670 字,大约阅读时间需要 5 分钟。

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

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

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

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

1、接收红包消息

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

项目地址:

核心代码:

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

最终效果视频演示:

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

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

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

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

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

不用谢!

════

其他文章及回答:

| | | | | | | | | | |

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

转载地址:http://uvmaa.baihongyu.com/

你可能感兴趣的文章
servlets的表单提交响应
查看>>
C#中Main方法的四种形式
查看>>
Script:诊断SYSAUX表空间使用情况
查看>>
[Cocos2d-x For WP8]基础知识
查看>>
Android——Android Studio导入SlidingMenu类库的方法
查看>>
Jenkins+Maven+Sonar系统持续集成环境部署以及配置
查看>>
完美的nginx图片防盗链设置详解
查看>>
Windows下Redis的安装使用
查看>>
ASP.NET MVC中使用FluentValidation验证实体
查看>>
Python之模块和包学习
查看>>
C++11 多线程
查看>>
恢复低版本的FlashPlayer
查看>>
Opengl VS2008开发环境
查看>>
ylbtech-QQ(腾讯)-群空间-数据库设计
查看>>
面试书籍
查看>>
模式识别 - 处理多个演示样本研究(MIL)特点(matlab)
查看>>
lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II
查看>>
CSS 简介
查看>>
atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc...
查看>>
C# TextBox常用方法总结
查看>>