回家团圆, 春晚, 鞭炮, 春联等都是春节的传统代名词, 但是近两年春节又有了一个新的代名词, 那就是 "抢红包". 今年春节期间, 除了之前微信, 支付宝, 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()
跟获取群红包信息只有一个参数的区别.
代码简单比较容易理解, 不做过多的介绍.
来源: http://www.jianshu.com/p/9bd6a9cd1208