mirror of
https://github.com/shanmiteko/LotteryAutoScript.git
synced 2026-06-04 21:01:17 +08:00
Bili动态抽奖助手
| .github | ||
| .vscode | ||
| lib | ||
| .eslintrc.json | ||
| .gitignore | ||
| LICENSE | ||
| main.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
AutoScript
动态抽奖
通过Github Actions挂载Nodejs脚本
此脚本将在B站专栏草稿中储存转发过的动态id以防止重复转发
操作步骤
↓↓
Fork本仓库
↓↓
填入COOKIE
进入B站主页获取Cookie用于登录
Chrome浏览器:
F12打开控制台- 进入Application找到Cookies栏中的SESSDATA将HttpOnly选项取消勾选
(此步骤是为了方便后续采用JS获取Cookies)

- 在Console中复制以下代码回车
{ let bilicookie = ''; document.cookie.split(/\s*;\s*/).forEach(item=>{ const _item = item.split('='); if (['DedeUserID','bili_jct','SESSDATA'].indexOf(_item[0]) !== -1) bilicookie += `${_item[0]}=${_item[1]}; `; }) copy(bilicookie); /* 自动复制到粘贴板 */ console.log(bilicookie) } - 新建一个COOKIE将获取到的
DedeUserID=***;SESSDATA=***;bili_jct=***填入


也可以采用其他方式获取所需的Cookie
只需含有DedeUserID=...;SESSDATA=...;bili_jct=...三项即可
(分号分割,顺序随意)
↓↓
微信推送中奖信息(可选)
如果想使用Server酱提供的微信推送服务
可在Repository secrets中新建一个SCKEY并填入相应的值

↓↓
运行
进入Actions启用工作流
随便改一下此README.md文件并提交(Push触发)


或者通过手动触发

以上步骤是为了检测是否配置成功
至此程序将会每两小时运行一次
↓↓
完成!
清理动态
只需在Secret里添加一个CLEAR项并取值为true
程序便会每15天清理一次动态和关注
其他细节
更新
如果出现

说明此脚本有更新
通过Pull Request更新仓库

或者
使用GitHub App Pull自动同步
多账号支持
默认支持5个账号
| cookies | value |
|---|---|
COOKIE |
值 |
COOKIE2 |
值 |
COOKIE3 |
值 |
COOKIE4 |
值 |
COOKIE5 |
值 |
COOKIE* |
值 |
添加更多的账号
可在文件.github/workflows/node.js.yml中
lottery_*:
runs-on: ubuntu-latest
steps:
- name: 'Checkout codes'
uses: actions/checkout@v2
- name: 'Use Node.js'
uses: actions/setup-node@v1
with:
node-version: '12.18.3'
- name: 'Run in Nodejs'
shell: bash
env:
NUMBER: *
COOKIE: ${{ secrets.COOKIE* }}
SCKEY: ${{ secrets.SCKEY }}
run:
npm start
将以上星号处改为数字并依次复制粘贴
此时Secrets里就可以添加更多的COOKIE*(简单的找规律问题)
若使用自动清理功能,还需再.github/workflows/clear.yml中
lottery_*:
runs-on: ubuntu-latest
steps:
- name: 'Checkout codes'
uses: actions/checkout@v2
- name: 'Use Node.js'
uses: actions/setup-node@v1
with:
node-version: '12.18.3'
- name: 'Run in Nodejs'
shell: bash
env:
NUMBER: *
CLEAR: ${{ secrets.CLEAR }}
COOKIE: ${{ secrets.COOKIE* }}
SCKEY: ${{ secrets.SCKEY }}
run:
npm run clear
将以上星号处改为数字并依次复制粘贴以清理更多的账号
如何关闭
部分设置说明
- 定时运行(
UTC时间)
.github/workflows/node.js.yml
如何填写此字段schedule: - cron: '0 */2 * * *' - 模式选择
lib/config.js- 字段解释
model'00'关闭自动抽奖'10'只转发官方抽奖'01'只转发非官方抽奖'11'都转
chatmodel'00'关闭自动评论'10'只评论官抽'01'只评论非官抽'11'都评论
maxday- 开奖时间距离现在的最大天数
- 默认为-1表示不限制
wait- 转发间隔时间
- 单位毫秒
- 上下浮动30s
minfollower- up主粉丝数限制
- 仅限制没有官方认证的up
blacklist- 防钓鱼黑名单
blockword- 屏蔽词
followWhiteList- 取关白名单
- 逗号分割字符串
relay- 转发评语
chat- 评论内容
- 字段解释


