GitHub Actions是GitHub的CI/CD工具,可以实现每天线上自动登录Bilibili进行签到领币投币分享。
首先这个文章是转载Github的,感谢两位开发大佬。
RayWangQvQ/BiliBiliTool
JunzhouLiu/BILIBILI-HELPER
每天自动观看、分享、投币视频 (支持指定想要支持的up主,优先选择配置的up主的视频,不配置则随机选取视频)
每天漫画自动签到
每天自动直播签到,领取奖励 (直播可以不看,但是奖励不领白不领~)
每天自动使用直播中心银瓜子兑换B币,避免浪费
每月自动使用快过期的B币券为自己充电 (你懂的~)
每个月自动领取5张B币券和大会员权益 (既然买了会员就要领取该有的奖励啊~)[/blueacc]
BiliBiliTool实现自动任务的原理,是通过调用一系列B站开放的接口实现的。
举例来说,要实现观看视频的任务,只需要通过调用B站的上传视频观看进度Api即可,
入参:视频Id、当前观看时间、用于身份认证的Cookie。
BiliBiliTool就是收集了一系列这样的接口,通过每日自动运行程序,来实现自动领取奖励、完成每日任务等功能的。
要使用BiliBiliTool,我们只需要做两步,首先是获取自己的Cookie作为配置信息,然后将配置输入BiliBiliTool程序并运行即可。
第一步:获取自己的Cookie
- 浏览器打开并登录bilibili网站
- 按 F12 打开“开发者工具”,依次点击 应用程序/Application -> 存储-> Cookies
- 找到
DEDEUSERID
、SESSDATA
、bili_jct
三项,复制保存它们到记事本,待会儿会用到。
Cookie Key | Cookie Value |
---|---|
DEDEUSERID | 从Cookie中获取 |
SESSDATA | 从Cookie中获取 |
BILI_JCT | 从Cookie中获取 |
第二步:运行BiliBiliTool
我们使用Github Actions,可以实现线上的每天自动运行,不需自己动手,一劳永逸。
Github Actions 是微软巨硬收购G站之后新增的内置CI/CD方案,其核心就是一个可以运行脚本的小型服务器(2核CPU + 7G RAM + 14 G SSD)。
有了它,我们就可以实现每天线上自动运行我们的应用程序。
a. 首先fork项目到自己的仓库
https://github.com/RayWangQvQ/BiliBiliTool
b. 进入自己fork的仓库,点击 Settings-> Secrets-> New Secrets 添加以下3个Secrets。它们将作为应用启动时的命令行参数被传入程序。
Secret Key | Cookie Key |
---|---|
USERID | DEDEUSERID |
SESSDATA | SESSDATA |
BILIJCT | BILI_JCT |
c. 开启Actions并触发每日自动执行
Github Actions默认处于关闭状态,前面都配置好后,请手动开启Actions,执行一次工作流,验证是否可以正常工作。
运行结束后,可查看运行日志:
workflow的执行策略默认是每天中午14点10分自动执行一次,主分支(main分支)有push或pr操作会自动执行一次。想要修改时间,可以修改.github/workflows/bilibili-daily-task.yml 中的cron表达式
我配置了Server酱微信推送,执行成功后微信会收到推送消息:
可以点击这个按钮查看如何配置微信推送
如果执行出现异常,会收到了GitHub Action的错误邮件通知,请检查Cookies是不是失效了或者是否有bug。
如果是Cookies失效了,请从浏览器重新获取并更新到Secrets中。用户主动清除浏览器缓存,会导致BILI_JCT
和DEDEUSERID
失效。
最后再次感谢两位开发大佬,项目地址:
RayWangQvQ/BiliBiliTool
JunzhouLiu/BILIBILI-HELPER