👯✨😄📫
哔哩哔哩(B
站)自动完成每日任务,
投币,点赞,直播签到,自动兑换银瓜子为硬币,自动送出即将过期礼物,漫画App
签到,大会员领取B
币卷等。每天获得65
点经验,助你快速升级到Lv6
。
开源不易,如果本项目对你有帮助,那么就请给个star
吧。😄
重要提示,如果收到了b
站的账号安全通知,可以考虑将Actions
禁用一段时间,观望一段时间再进行使用,具体禁用步骤,请参考此Issues。
- 自动获取经验(投币、点赞、分享视频)
- 直播辅助(直播签到,自动送出即将过期的礼物)
- 自动兑换银瓜子为硬币
- 自动领取年度大会员每月权益(每月
1
号领取B
币劵、权益礼包) - 月底自动用B币卷给自己充电(每月
28
号) - 月底自动用B币卷兑换金瓜子(每月
28
号) - 漫画辅助脚本(漫画
APP
签到) - 支持功能自定义(自定义投币数量,银瓜子兑换硬币开关等)
- 账户失效提醒(发送到你的微信或者钉钉提醒、邮箱提醒)
- 支持多种方式推送运行结果(钉钉、微信)
- 支持Docker自己部署
关于日志中的 ✔ 和 ❌ 说明
符号 | 说明 |
---|---|
✔ | 本次程序运行,成功的执行了代码,并完成了任务(例如,分享视频,今日未分享过,那么程序就应该请求分享视频的接口,协助完成分享视频的任务)。 |
❌ | 可能两种操作会出现这个符号。1.程序成功的执行了,尝试去完成任务,但是中途遇到了未知的失败。2.程序成功的执行了,检测到此类任务已经完成(例如,分享视频,今日已经分享过,那么程序不应该请求分享视频的接口,无需协助完成分享视频的任务),就无需再去完成。可以理解为跳过或遇到错误。 |
项目地址:srcrs/BilibiliTask
本项目成功运行需要三个参数,分别是SESSDATA
,bili_jct
,DedeUserID
-
打开
b
站首页(任意一个页面都行)--> 按下F12
-->Application
-->Cookies
-->https://www.bilibili.com
-
找到所需要参数对应的数据,找不到可能是你的账号没有登录。
在Secrets
中的Name
和Value
格式如下:
Name | Value |
---|---|
BILI_JCT | xxxxx |
DEDEUSERID | xxxxx |
SESSDATA | xxxxx |
将上一步获取的参数,填入到Secrets中,一共需要添加三个键值对。
默认actions
处于禁止状态,在Actions
选项中开启Actions
功能,把那个绿色的长按钮点一下。如果看到左侧工作流上有黄色!
号,还需继续开启。
默认push
操作会触发工作流运行。
- 打开
README.md
,将里面的 😄 删除一个即可。
- 查看
actions
,显示对勾就说明运行成功了。以后会在每天的10:30
执行,自动完成每日任务。
配置文件的位置在src/main/resource/config.yml
。
重要提示!!!
程序检测到礼物有效期还剩1
天,将会自动随机送出,部分朋友包裹里可能会有贵重礼物,你可以手动关闭即将过期礼物送出功能。
需要在config.yml
中,将gift
项设置为false
。详情见下方配置文件说明。
符号 | 说明 |
---|---|
coin | 代表投币的数量 [0,5] |
gift | 是否需要送出即将过期礼物 [true,false] |
s2c | 是否需要将银瓜子兑换硬币 [true,false] |
autoBiCoin | 月底自动使用B币卷 [{0,自己有其他用途},{1,给自己充电},{2,兑换成金瓜子}] |
platform | 用户设备的标识[android,ios] |
upList | up 主列表,优先给这些 up 主投币[uid] |
manga | 是否自动进行漫画签到 [true,false] |
upLive | 即将过期礼物给此up的直播间,填写其 uid |
selectLike | 对于进行投币的视频选择是否点赞 , 默认不点赞 [0,1] |
#每天需要投币的数量 [0,5]。
coin: 5
#送出即将过期礼物 [true,false]
gift: true
#银瓜子兑换为硬币 [true,false]
s2c: true
#月底自动使用B币卷 [{0,自己会使用},{1,给自己充电},{2,兑换成金瓜子}]
autoBiCoin: 1
#用户设备的标识 [android,ios]
platform: android
#自定义优先给这些 up 的视频投币 , 以yml数组的形式 , 填写其 uid (mid)
upList:
- 477137547
- 14602398
#进行漫画签到任务 [true,false]
manga: true
#优先送出即将过期礼物给此up的直播间,填写其 uid
upLive: 477137547
#对于进行投币的视频选择是否点赞 , 默认不点赞 [0,1]
selectLike: 0
如实在没有想给他投币的up主,可以考虑把我填上哦 477137547
😄
- 使用如下命令请自行替换所需的环境变量
- 每天00:01分运行程序
docker run -d \
--env BILI_JCT=自行填写 \
--env DEDEUSERID=自行填写 \
--env SESSDATA=自行填写 \
timmyovo/bilibilitask
server
酱官网:http://sc.ftqq.com
-
按照
server
酱官网使用教程,用github
登录并绑定微信。 -
获得
SCKEY
并将其填入到Secrets
中。
在Secrets
中的Name
和Value
格式如下:
Name | Value |
---|---|
SCKEY | xxxxx |
这样就可以在微信接收到运行结果了。
server
酱测试号版官网:https://sct.ftqq.com/
-
按照
server
酱测试号版官网使用教程,用微信扫码登录。 -
获得
SENDKEY
并将其填入到Secrets
中。
Name | Value |
---|---|
SENDKEY | xxxxx |
push+
官网:https://pushplus.hxtrip.com
-
进入官网首页点击
一对一推送
,用微信扫描其二维码,进行关注 -
关注后,即可看到
token
,将其添加到Secrets
中即可
在Secrets
中的Name
和Value
格式如下:
Name | Value |
---|---|
PUSHPLUSTK | xxxxx |
1.首先,你需要在钉钉创建一个群聊,可以拉去两个人创建一个,再把他们踢出去。
2.获取钉钉自定义机器人的Webhook
,将其填写到Secrets
中
键值对如下格式:
Name | Value |
---|---|
DINGTALK | https://oapi.dingtalk.com/robot/send?access_token=064559acaa666c43d5ba197656594f288f3acef9a64f4f43218beddd1c7b7050 |
- 首先需要创建 telegram bot 并获取 telegram bot token,可以参考文档;
- 将机器人加入群组中,并获取群组ID,查看Stackoverflow问答;
- 将 telegram bot token 和群组ID添加到
Secrets
中即可。
在Secrets
中的Name
和Value
格式如下:
Name | Value |
---|---|
TELEGRAM_BOT_TOKEN | xxxxx |
TELEGRAM_CHAT_ID | xxxxx |
在.github/workflows/Bilibili.yml
修改cron
表达式,需要注意的是,cron
表达式是国际时间,
需要换算到国内时间,往后推8个小时,例如国际时间是12点钟,则在国内是20点钟。
- 每天00:01分运行程序
docker run -d --env BILI_JCT=自行填写 --env DEDEUSERID=自行填写 --env SESSDATA=自行填写 timmyovo/bilibilitask
在github
安装pull
,会自动帮你检测上游仓库,并帮助你更新代码
地址在这: https://github.com/apps/pull
由于添加有配置文件config.yml
,有可能会覆盖你自定义的config.yml
,需要注意。
1、查看是否有源头仓库的别名和地址
$ git remote -v
origin https://github.com/cmdcs/BilibiliTask.git (fetch)
origin https://github.com/cmdcs/BilibiliTask.git (push)
upstream https://github.com/srcrs/BilibiliTask (fetch)
upstream https://github.com/srcrs/BilibiliTask (push)
origin
是你的仓库地址,upstream
是你fork
的源头仓库。通常第一次是没有upstream
的。
2、添加源头仓库
git remote add upstream https://github.com/srcrs/BilibiliTask
3、把上游仓库main
分支的更新拉取到本地
git pull upstream main
4、将更新后的代码推送到你的仓库
git push origin main
由于添加有配置文件config.yml
,有可能会覆盖你自定义的config.yml
,需要注意。
-
避免投币给单一
up
主 -
更新
b
币卷充电接口 -
修复投币计算(投币数为负数)
-
修复近30天未投币出现的bug
-
发布1.0.8版本
-
修复用户无动态获取视频信息错误
-
修复从动态列表中获取到自己投稿视频的错误
-
增加一些自定义配置点赞
-
去除UA(貌似是没有影响的)
-
设置API请求间的缓冲时间(5 秒钟)
感谢东酱在此项目中做出的巨大贡献。
-
增加
push+
推送方式 -
将项目管理工具改为
gradle
-
优化代码结构,优化日志输出格式(高亮)
-
增加钉钉推送方式
-
优化投币给视频的策略 , 自定义
up
主视频 > 当前用户动态列表中的视频投稿 > 随机视频列表 -
投币后等待
1-2
秒钟 , 降低访问投币API
的速度 -
优化模拟观看视频 , 获取视频时常,随机上报视频观看进度
-
优化日志输出,提示更加友好,更加贴近用户(如增加了还剩多少天升级的提示)
-
增加账号失效提醒(发送到微信或者钉钉)
-
根据阿里巴巴代码规范优化代码
-
增加用户标识配置项
-
将自动使用B币卷开关,更改为自动配置用途,可以选择不使用、充电、兑换金瓜子。
-
增加B币卷兑换金瓜子功能
- 增加用server酱推送运行结果到微信功能
-
增加年度大会员每月
1
号领取B
币卷 -
月底自动用
B
币卷给自己充电 -
在配置项中添加是否月底用
B
币卷给自己充电开关,默认开启
由于我本身不是年度大会员,无法测试是否可以正常领取年度大会员权益和B
币卷,
出错的时候麻烦给我提一个issues
,我会及时解决的。
-
优化日志显示
-
增加账户失效提醒
账户失效会导致任务流运行失败,github会下发运行失败邮件提醒。
-
重构代码,功能不变
-
采用反射实现自动加载
task
包功能任务代码。 -
加入配置文件,用户可自定义一些配置
-
增加自动送出即将过期的礼物
-
增加漫画
APP
签到 -
增加一些
api
- 增添银瓜子自动兑换硬币功能
-
增添B站直播签到
-
继续增添
API
- 完成了自动获取经验功能
每日登录、每日观看视频、每日投币、每日分享
- 完善对接
api
接口