查看原文
其他

Python助你抢红包

Ahab Python大本营 2019-02-22


来源 | Ahab杂货铺(ID:PythonLearningCamp)


回家团圆,春晚、鞭炮、春联等都是春节的传统代名词,但是近两年春节又有了一个新的代名词,那就是“抢红包”。今年春节期间,除了之前微信、支付宝、QQ等发红包平台,百度,头条也纷纷推出了各种抢红包活动。为了除夕夜不错过几个亿的红包,特意下载了一个红包助手,用来提醒自己微信好友发红包的信息,就这样还是败在了手速上。在使用红包助手的时候发现一个缺点:屏蔽的群,发红包时不提醒。作为爱折腾的我,今天就针对红包助手进行了优化,写了一个Python脚本助你抢红包,完美了解决了屏蔽的群,发红包时不提醒的弊端。



程序介绍



先上图让大家感受一下


原理很简单,利用itchat登录网页版微信,好友在群里发红包或者好友给你发红包的时候,网页版微信是无法领取红包的,会显示“收到红包,请在手机上查看”。当通知消息类型中有"收到红包"字样时,就可以表明有好友在发红包,这时候电脑会发出提示音提醒你去抢红包。用到的模块:itchat和pygame,代码量在30行左右。


具体实现


声音提醒


'''声音提示'''
def voice ():
    pygame.mixer.init()
    pygame.mixer.music.load('voice .mp3')
    pygame.mixer.music.play()


pygame.mixer是一个用来处理声音的模块。游戏中对声音的处理一般包括制造声音和播放声音两部分,我们这里仅仅用到了播放声音部分。init进行初始化,load加载声音文件,play播放声音。


获取群红包信息


'''监控群聊红包(Note参数: 通知消息类型)'''
@itchat.msg_register('Note', isGroupChat=True)
def getNoteGroup(msg):
    if u'收到红包' in msg['Text']:
        print('[INFO]: %s' % msg['Text'])
        voice()


当通知消息中包含收到红包时,会输出“收到红包,请在手机上查看”,同时调用声音播放的方法让电脑播放声音。


获取个人红包信息


'''监控个人红包(Note参数: 通知消息类型)'''
@itchat.msg_register('Note', isGroupChat=False)
def getNote(msg):
    if u'收到红包' in msg['Text']:
        print('[INFO]: %s' % msg['Text'])
        voice()


跟获取群红包信息只有一个参数的区别。


代码简单比较容易理解,不做过多的介绍。


写在最后


完整代码已经上传到Github:

https://github.com/AhabWang/AhabCode


源码下载:

https://pan.baidu.com/s/1Zl7iGm-LkmwWHO3orWvU3Q

提取码:49rq


友情提示:


红包千万个,最佳仅一个。

操作不规范,封号两行泪。

不要频繁操作,有禁止登录的风险,亲测!


2019

学就完事了



(本文仅代表作者观点,转载请联系原作者)


福利

公众号后台回复:2018Python,获取2018Python开源项目Top100整理资料!扫码添加小助手微信,回复:1,加入Python技术交流群。


推荐阅读:

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存