已实现功能:
声明: 此脚本仅用于学习和测试,作者本人并不对其负责,请于运行测试完成后自行删除,请勿滥用!
使用前务必阅读此教程和配置文件内注释
右上角★ Star
↓↓
进入B站主页获取Cookie用于登录
Chrome浏览器:
F12打开控制台
进入Application找到Cookies栏中的SESSDATA将HttpOnly选项取消勾选
(此步骤是为了方便后续采用JS获取Cookies,获取完毕后应再次勾选)

在Console中复制以下代码回车
/** 自动复制到粘贴板 */
document
.cookie
.split(/\s*;\s*/)
.map(it => it.split('='))
.filter(it => ['DedeUserID','bili_jct', 'SESSDATA'].indexOf(it[0]) > -1)
.map(it => it.join('='))
.join('; ')
.split()
.forEach(it => copy(it) || console.log(it))
也可以采用其他方式获取所需的Cookie
只需含有 DedeUserID=...;SESSDATA=...;bili_jct=... 三项即可
(分号分割, 不要换行, 顺序随意)
↓↓
[下载|cnpmjs镜像下载|Fastgit镜像下载]压缩包并解压后
~/nlts-linux-x64
=> tree
.
├── env.js (便捷设置环境变量和多账号参数)
├── lottery (可执行文件)
├── my_config.js (自定义设置文件) (!使用前必读)
└── README.md (说明文件)
用记事本或其他编辑器修改env.js和my_config.js文件(右键选择用记事本打开)
在env.js中填入COOKIE和推送参数
在my_config.js中自定义设置
在当前目录下打开终端运行可执行文件lottery(勿直接点击lottery)
# unix-like
## 进入脚本所在目录
## 授予执行权限
$ chmod u+x lottery
## 启动脚本
$ ./lottery start
## 检测中奖
$ ./lottery check
## 清理关注动态
$ ./lottery clear
## 下载最新版本
$ ./lottery clear
# windows
## 不需要chmod
## 把`./`换成`.\`或去掉
## 已自带*.bat可直接点击
运行截图

step1: 下载代码到本地
点此下载或如图示下载↓

下载的压缩包解压后修改env.example.js文件,详见step3
step2: 下载并安装Node.js

step3:修改env.example.js文件及创建运行文件(打开扩展名显示)
1.step1下载的压缩包解压后将其中的env.example.js文件重命名为env.js
2.右键env.js文件选择编辑或用记事本打开
3.填入相关参数
4.my_config.example.js同样操作
5.运行
注: npm i意味安装依赖, 只需运行一次, 为防止依赖有变化遂每次都执行
命令一: 启动抽奖
npm i && npm run start
命令二: 检查中奖
npm i && npm run check
命令三: 清理动态
npm i && npm run clear
script目录下有启动脚本, 点击即可运行
注: 本地运行时可在设置中增大扫描页数
脚本已内置定时运行功能
1.初始化
curl -fsSL https://cdn.staticaly.com/gh/shanmiteko/LotteryAutoScript/main/script/docker/init.sh | sudo sh
进入lottery文件夹
cd lottery
编辑env.js与my_config.js文件
2.执行相应的脚本
$ tree
.
├── check.sh
├── clear.sh
├── debug.sh 进入临时容器查看内容
├── env.js
├── my_config.js
├── new_env.js
├── new_my_config.js
├── remove_all.sh 移除对应docker镜像和所有相关容器
└── start.sh
3.更新
进入lottery上一级目录
使用与初始化相同的命令
存储在专栏草稿
脚本将转发过的动态和被过滤的动态都写入dyids/dyid*.txt文件中
是否点赞
判断依据
通过@信息判断
通过私信判断
关键词有限 可能会有漏掉的或误报
填写在env.js内
以下是支持的推送方式
| Name | 归属 | 属性 | 说明 |
|---|---|---|---|
SCKEY | 微信server酱推送(于2021/4月下线) | 非必须 | server酱的微信通知官方文档 |
SENDKEY | 微信server酱(Turbo版)推送 | 非必须 | 获取SENDKEY 选择消息通道 |
BARK_PUSH | BARK推送 | 非必须 | IOS用户下载BARK这个APP,填写内容是app提供的设备码,例如:https://api.day.app/123 ,那么此处的设备码就是123,再不懂看 这个图(注:支持自建填完整链接即可) |
BARK_SOUND | BARK推送 | 非必须 | bark推送声音设置,例如choo,具体值请在bark-推送铃声-查看所有铃声 |
TG_BOT_TOKEN | telegram推送 | 非必须 | tg推送(需设备可连接外网),TG_BOT_TOKEN和TG_USER_ID两者必需,填写自己申请@BotFather的Token,如10xxx4:AAFcqxxxxgER5uw , 具体教程 |
TG_USER_ID | telegram推送 | 非必须 | tg推送(需设备可连接外网),TG_BOT_TOKEN和TG_USER_ID两者必需,填写@getuseridbot中获取到的纯数字ID, 具体教程 |
TG_PROXY_HOST | Telegram 代理的 IP | 非必须 | 代理类型为 http。例子:http代理 http://127.0.0.1:1080 则填写 127.0.0.1 |
TG_PROXY_PORT | Telegram 代理的端口 | 非必须 | 例子:http代理 http://127.0.0.1:1080 则填写 1080 |
DD_BOT_TOKEN | 钉钉推送 | 非必须 | 钉钉推送(DD_BOT_TOKEN和DD_BOT_SECRET两者必需)官方文档 ,只需https://oapi.dingtalk.com/robot/send?access_token=XXX 等于=符号后面的XXX即可 |
DD_BOT_SECRET | 钉钉推送 | 非必须 | (DD_BOT_TOKEN和DD_BOT_SECRET两者必需) ,密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的SECXXXXXXXXXX等字符 , 注:钉钉机器人安全设置只需勾选加签即可,其他选项不要勾选,再不懂看 这个图 |
IGOT_PUSH_KEY | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 参考文档 |
QQ_SKEY | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey 参考文档 |
QQ_MODE | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) 参考文档 |
QYWX_KEY | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key 详见官方说明文档 |
PUSH_PLUS_TOKEN | pushplus推送 | 非必须 | 微信扫码登录后一对一推送或一对多推送下面的token(您的Token) 官方网站 |
PUSH_PLUS_USER | pushplus推送 | 非必须 | 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码)注:(1、需订阅者扫描二维码 2、如果您是创建群组所属人,也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送),只填PUSH_PLUS_TOKEN默认为一对一推送 |
SMTP_HOST | 电子邮件 | 非必须 | smtp服务器的主机名 如: smtp.qq.com |
SMTP_PORT | 电子邮件 | 非必须 | smtp服务器的端口 如: 465 |
SMTP_USER | 电子邮件 | 非必须 | 发送方的电子邮件 如: [email protected] |
SMTP_PASS | 电子邮件 | 非必须 | smtp服务对应的授权码 |
SMTP_TO_USER | 电子邮件 | 非必须 | 接收方电子邮件 |
详见env.example.js文件内部注释
详见my_config.example.js文件内部注释
相关项目
Content type
Image
Digest
sha256:e3a683308…
Size
72 MB
Last updated
4 months ago
docker pull shanmite/lottery_auto_docker