又到了辞旧迎新的时候,群里的红包也多起来了。然而大佬们总是喜欢趁我不在的时候发红包,经常打开手机,发现红包已被抢完,感觉错过了一个亿。
安卓上有不少红包助手工具,但 iOS 似乎没有。而且就算有,这种需要很高权限的第三方插件工具总让人不那么放心。所以我还是自己来做一个好了。如果要求不那么高,只要在
出现红包的时候发出提醒
,那么实现起来并不复杂。
先来看下效果(实际使用不需要打开手机,此处为演示需要):
进群:960410445 获取自动抢红包的代码啊!
核心代码:
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()
发出声音需要用到调用系统接口,
Windows
和
Mac
有不同的实现,或者也可以通过 pygame 播放 MP3 文件。上面三种方法保留一种即可。
还嫌不够的话,可以弹个窗:
import tkinter.messagebox
tkinter.messagebox.showinfo('重要提醒','有人发红包啦!')
不过由于大量自动化营销机器人都在使用微信网页版接口,现在网页版的功能已被删减许多,且刚注册的新号已无法登录网页版。有传言说可能之后会取消网页版,就像之前的 Web QQ。你在使用 itchat 的时候要注意: