外卖神券天天领,超值红包享不停;以自动化的方式领取美团红包。
★ 专注领劵,不搞没用的
★ 多帐号支持,全村都能配上
★ 并行化任务,数管齐下更有效率
★ 异常重试,一次不行再来一次
★ 多路消息通知,总有一个到达你
★ Github Actions 部署,从未如此简单
打开美团主页,登录后使用 Chrome DevTools 或任意抓包工具获取 cookie 信息,提取 token
字段值。
示例:
token=Js3xxxxFyy_Aq-rOnxMte6vKPV4AAAAA6QwAADgqRBSfcmNqyuG8CQ7JDL7xxxxNGbfF7tPNV5347_ANLcydua_JHCSRj0_xxxg9xx;
使用 GitHub Actions 部署:
- Fork 源项目
- 访问 actions-mtz-coupons 源仓库
- 点击右上角
Star
按钮 ;) - 点击右上角
Fork
按钮
- 添加 Actions secrets
- 导航到 Fork 后的仓库主页面
- 在仓库菜单栏中,点击
⚙️Settings
(设置) - 点击侧边栏
Secrets
(密码)条目 - 点击
New repository secret
创建仓库密码- 在
Name
输入框中填入TOKEN
- 在
Value
输入框中填入从 cookie 中提取的 token 值(详见下文 TOKEN 配置)
- 在
- 点击
Add secret
保存配置
Fork 后的项目可执行 npm run sync
同步上游更新,详细参考【脚本更新】章节
Github Actions 工作流支持手动与自动两种触发方式
- 自动触发,每日
11:00
前定时执行(已开启) - 手动触发
TOKEN
Secret 支持 String
或 JSON
对象两种数据格式:
- String 类型 - 简单配置,值为 cookie 中提取的 token 信息
- JSON 类型 - 高级配置,适用于一对一推送以及多账户支持
当 TOKEN
为 JSON
类型时,应包含以下属性:
属性名 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
token | string | 是 | 账号 token | |
alias | string | 否 | 账号别名,便于区分多账户 | |
qywxUid | string | 否 | 企业微信通知,用户 id | |
tgUid | string | 否 | Telegram 通知,用户 id | |
barkKey | string | 否 | Bark 通知,推送 Key |
注意:企业微信通知需配置 QYWX_SEND_CONF
Secret,Telegram 通知需配置 TG_BOT_TOKEN
Secret,详见【消息通知】章节
String 配置示例:
Js3xxxxFyy_Aq-rOnxMte6vKPV4AAAAA6QwAADgqRBSfcmNqyuG8CQ7JDL7xxxxNGbfF7tPNV5347_ANLcydua_JHCSRj0_xxxg9xx
JSON 配置示例:
{
"token": "Js3xxxxFyy_Aq-rOnxMte6vKPV4AAAAA6QwAADgqRBSfcmNqyuG8CQ7JDL7xxxxNGbfF7tPNV5347_ANLcydua_JHCSRj0_xxxg9xx",
"qywxUid": "Vincent",
"barkKey": "kkWwxxxq5NpWx"
}
当 TOKEN
指定为数组时,代表启用账户配置。每个配置成员均支持 String
和 JSON
格式。
配置示例:
[
"Js3xxxxFyy_Aq-rOnxMte6vKPV4AAAAA6QwAADgqRBSfcmNqyuG8CQ7JDL7xxxxNGbfF7tPNV5347_ANLcydua_JHCSRj0_xxxg9xx",
{
"token": "3R2xxxxxUqS_Aq-rOnxMte6vKPV4AAAAA6QwAADgqRBSfcmNqyuG8CQ7JDL7xxxxNGbfF7tPNV5347_ANLcydua_JHCSRj0_xxxg9xx",
"alias": "fish",
"barkKey": "kkWwxxxq5NpWx",
"qywxUid": "Vincent"
}
]
发送消息推送,通知程序运行结果。按照通知类型分为用户通知和全局通知:
- 用户通知:一对一推送,适用于多账户内的“乘客”
- 全局通知:推送所有任务的执行情况,适用于程序管理者
消息模板示例:
【外卖神券天天领😋】
账号 xxx:
- ¥5(满20可用)
- ¥7(满35可用)
- ¥3(满20可用)
账号 xxx:
- ¥5(满20可用)
- ¥7(满35可用)
...
支持平台:
- Bark
- Telegram
- 企业微信
- Server 酱
Bark 是一款可以接收自定义通知的 iOS 应用。
打开 Bark App 获取推送 key:
URL 组成:host/:key/:body
示例: https://api.day.app/kkWwxxxq5NpWx/推送内容...
host: 服务域名
key: 推送 key,设备唯一标识
body: 自定义推送内容
TOKEN
Secret 配置为 JSON 格式,添加 barkKey
属性
- 提取推送
key
(本例为kkWwxxxq5NpWx
) - 进入项目 "Settings" → "Secrets" 配置页,点击
New repository secret
- 新建
BARK_KEY
项,填入推送 key
- 新建
Telegram 是一款跨平台的专注于安全和速度的聊天软件。通过创建 Telegram Bot,可发送自定义通知。
已拥有 Telegram Bot?直接参考下节 【配置 Bot Token】
- Telegram 搜索 @BotFather,点击
/start
启用 bot - 点击
/newbot
创建自定义 bot- 输入 bot 昵称
- 输入 bot id(需全局唯一),以
_bot
结尾,例:test233_bot
- 创建成功后,将会返回你的 bot token(例:
1689581149:AAGYVVjEHsaNxxxT8eQxxxshwr2o4Pxxxu86
) - Telegram 搜索刚刚创建的 bot id(本例:
test_bot
),点击/start
启用 bot
- Telegram 搜索 @BotFather,点击
/mybots
,获取 bot token - 进入项目 "Settings" → "Secrets" 配置页,点击
New repository secret
- 新建
TG_BOT_TOKEN
项,填入 bot token
- 新建
TOKEN
Secret 配置为 JSON 格式,添加 tgUid
属性
- Telegram 搜索 @userinfobot,点击
/start
,获取用户 ID - 进入项目 "Settings" → "Secrets" 配置页,点击
New repository secret
- 新建
TG_USER_ID
项,填入用户 ID
- 新建
企业微信 是微信团队出品的企业通讯与办公应用,具有与微信互联的能力。
已拥有企业微信应用?直接参考下节 【配置企业应用】
- 在管理后台 “我的企业” → “企业信息” 下获取 “企业 ID”
- 在管理后台 “应用管理” → “应用” → “自建”,点进目标应用,获取
AgentId
(应用 ID) - 在管理后台 “应用管理” → “应用” → “自建”,点进目标应用,获取
Secret
(应用钥匙) - 进入项目 "Settings" → "Secrets" 配置页,点击
New repository secret
- 新建
QYWX_SEND_CONF
项,填入 <JSON 配置>
- 新建
JSON 配置字段说明:
属性名 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
corpId | string | 是 | 企业 ID | |
agentId | string | 是 | 应用 ID | |
corpSecret | string | 是 | 应用密匙 | |
toUser | string | @all (推送所有) | 否 | 用户 ID,多用户以 | 分割 |
示例:
{
"corpId": "wwxxxe9ddxxxc50xxx",
"agentId": "1000002",
"corpSecret": "12Qxxxo4hxxxyedtxxxdyfVxxxCqh6xxxF0zg3xxxNI",
"toUser": "@all"
}
TOKEN
Secret 配置为 JSON 格式,添加 qywxUid
属性
QYWX_SEND_CONF
Secret 设置 toUser
属性
Server 酱 是一款从服务器、路由器等设备上推消息到手机的工具。
- 打开 Server 酱 SendKey 页面,获取
SendKey
- 进入项目 "Settings" → "Secrets" 配置页,点击
New repository secret
- 新建
SC_SEND_KEY
项,填入SendKey
- 新建
此项目将长期维护,为了确保副本能够及时享受到上游更新,请定期执行同步操作。
执行 npm script:
npm run sync
脚本执行后会拉取上游仓库的最新主分支代码,与本地主分支进行合并,最后合并结果同步到远程仓库。
参考 Github 官方文档 同步复刻
为了便于调试,项目使用 dotenv 储存本地配置,在项目根目录下创建 .env
文件,填入 Secrets
信息。
示例:
# 美团 cookie token
TOKEN=token=Js3xxxxFyy_Aq-rOnxMte6vKPV4AAAAA6QwAADgqRBSfcmNqyuG8CQ7JDL7xxxxNGbfF7tPNV5347_ANLcydua_JHCSRj0_xxxg9xx;
# bark 推送 key
BARK_KEY=kkWwxxxq5NpWx
# telegram bot token
TG_BOT_TOKEN=1689581149:AAGYVVjEHsaNxxxT8eQxxxshwr2o4Pxxxu86
# telegram 用户 ID
TG_USER_ID=100000000
# server 酱 SendKey
SC_SEND_KEY=SCTxxxxxTPIvAYxxxxxXjGGzvCfUxxxxxx
# 企业微信配置
QYWX_SEND_CONF={"agentId": "1000002", "corpId": "wwxxxe9ddxxxc50xxx", "corpSecret": "12Qxxxo4hxxxyedtxxxdyfVxxxCqh6xxxF0zg3xxxNI", "toUser": "@all"}
npm run start:local
npm run test
本项目仅供学习与研究之用,请勿用于商业或非法用途。原作者不能完全保证项目的合法性,准确性和安全性,因使用不当造成的任何损失与损害,与原作者无关。请仔细阅读此声明,一旦您使用并复制了本项目,则视为已接受此声明。