使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

2023-11-11

使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

SCHEDULE-BILIBILI 是一个B站自动执行任务的工具,使用 JS + AXIOS 编写,通过它可以实现B站帐号的每日自动观看、分享、投币视频,获取经验,每月自动领取会员权益、自动为自己充电等功能,帮助我们轻松升级会员到Lv6并赚取电池.

详细功能目录如下:

  • 每天自动登录,获取经验
  • 每天自动观看、分享、投币视频 (支持指定想要支持的up主,优先选择配置的up主的视频,不配置则随机选取视频)
  • 每天漫画自动签到
  • 每天自动直播签到,领取奖励 (直播可以不看,但是奖励不领白不领~)
  • 每天自动使用直播中心银瓜子兑换B币,避免浪费
  • 每月自动使用快过期的B币券为自己充电 (你懂的~)
  • 每个月自动领取5张B币券和大会员权益 (既然买了会员就要领取该有的奖励啊~)

----- 执行 用户登录检查 -----
----- login success -----
----- [username] - xiaoxiunique
----- [金币余额] - 94


----- 执行 用户任务完成状态检查 -----
----- 请求本日任务状态成功 -----


----- 执行 用户任务完成状态检查 -----
----- 视频播放成功 -----
----- 视频分享成功 -----


----- 执行 漫画签到任务 -----
----- 完成漫画签到 ----


----- 执行 银瓜子换硬币 -----
----- [银瓜子兑换硬币失败 原因是: 银瓜子余额不足] -----
----- [当前银瓜子余额:0] -----


----- 执行 投币 -----
----- [投币任务开始] -----
----- [投币成功] -----
----- 程序当前已投: 1 -----


----- 执行 直播签到 -----
----- [直播签到成功,本次获得] -----undefined


----- 执行 为自己充电任务 -----
----- [用这个工程的应该都是白嫖用户,不会是年度大会员吧,就不实现这个任务了吧] -----


----- 执行 等级计算 -----
----- [今日获取得到总经验值为: 60] -----
----- [按照当前进度升级到 Lv2] 还需要5 天 -----

Github 仓库地址

1. 源码

在这里插入图片描述

/index.js

项目入口文件,主要进行必要参数接受,和组装各个子任务,各个子任务之间互相解耦,高内聚低耦合。

JS 文件 Bilibili 任务
/task/userCheck.js 用户信息检查,判断提供参数是否正确。
/task/dayTask.js 获取每日任务完成状态。
/task/videoWatch.js 完成视频分享任务。
/task/mangaSign.js 完成漫画签到任务。
/task/silverToCoin.js 完成银瓜子换硬币。
/task/coinAdd.js 完成投币任务。
/task/liveCheckIn.js 完成 直播签到任务。
/task/chargeMe.js 完成 给自己充电任务。
/task/calcLevel.js 计算到下一个等级所需时间。

/api/base.js

定义了 axios 基础的 get/post 方法,处理公共 B 站需要的请求头。

2. 如何使用?

要使用 SCHEDULE-BILIBILI,我们只需要做两步,首先是获取自己的Cookie作为配置信息,然后将配置输入SCHEDULE-BILIBILI 程序并运行即可。

2.1.第一步:获取自己的Cookie

  • 浏览器打开并登录bilibili网站
  • 按 F12 打开“开发者工具”,依次点击 应用程序/Application -> 存储-> Cookies
  • 找到DEDEUSERIDSESSDATAbili_jct三项,复制保存它们到记事本,待会儿会用到。

v在这里插入图片描述

2.2.第二步:运行 schedule-bilibili

运行 schedule-bilibili 有两种方式,一种是通过Github的Actions实现线上的每天自动运行,一种是本地运行或调试。

对于熟悉Github Actions的朋友,推荐使用方式一 Github Actions,可以实现线上的每天自动运行,不需自己动手,一劳永逸。

对于没有Github账号的、或者想先尝个鲜快速运行、或者是开发者想要本地调试的朋友,可以跳转到方式二,操作简单快速。

Github Actions每天定时线上自动运行

Github Actions 是微软巨硬收购G站之后新增的内置CI/CD方案,其核心就是一个可以运行脚本的小型服务器(2核CPU + 7G RAM + 14 G SSD)。

有了它,我们就可以实现每天定时线上自动运行我们的应用程序。

设置步骤如下:

  • 首先fork本项目(xiaoxiunique/schedule-bilibili)到自己的仓库

  • 进入自己fork的仓库,点击 Settings-> Secrets-> New Secrets 添加以下3个Secrets(USERIDSESSDATABILIBILI_JCT)。它们将作为应用启动时的命令行参数被传入程序。

在这里插入图片描述

  • 开启Actions并触发每日自动执行

Github Actions默认处于关闭状态,前面都配置好后,请手动开启Actions,执行一次工作流,验证是否可以正常工作。

运行结束后,可查看运行日志

如果执行出现异常,会收到了GitHub Action的错误邮件通知,请检查Cookies是不是失效了,或者是否有bug。用户主动清除浏览器缓存,会导致BILIBILI_JCTDEDEUSERID失效。

3.白嫖永远不是目的,学习才是「手动狗头」

利用面向对象的思想 实现 schedule-bilibili,各个任务之间 独立互不影响,高内聚低耦合。如果你是一位 JS er ,推荐你一看。

如果你觉得有用 恳请留下你的 star 。项目地址

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励 的相关文章

随机推荐

  • jmeter用循环控制器和计数器,直接查询数据库获取数据作为后续接口的参数

    一 导入mysql驱动jar包 二 添加线程组 jdbc配置文件 三 添加jdbc请求 设置参数变量 四 添加循环控制器 然后在其中加入计数器如下 五 用函数助手生成 V buyer code M 和 V buyer shortname N
  • 蓝桥杯JAVA B组 2022第四题 最少刷题数

    一 题目描述 二 思路分析 1 对输入的刷题数进行排序 2 分情况考虑 奇数情况下 超过中间值才能满足全班刷题比他多的学生数不超过刷题比他少的学生数 偶数情况下需要等于中间偏大的值就可以满足条件 三 代码 import java util
  • 西门子s300编程实例_plc西门子s300编程 西门子编程1000例

    西门子PLCS 200与S300 400系列编程电缆可以同意吗 西门子PLC S 200与S300 400系列编程电缆 如果是USB原装的 可以通用 价格2000元左右 西门子PLC S 200编程线型号PC PPI或者USB PPI 山寨
  • React 窗口防抖

    假如有这种需求 浏览器的窗口不断缩小变大 此时页面的布局不会自动刷新 需要手动刷新页面才会自适应大小 此时我们立马就会想到使用windows的onresize方法 window onresize gt 重新渲染画面 root render
  • 一起学nRF51xx 22 -  实现一个具体SVC调用功能的demo

    前言 上一节 一起学nRF51xx 21 蓝牙项目工程的初始化流程解读 讲到nordic的蓝牙协议栈是通过SVC来实现APP与协议栈之间通接口调用的 那么如何来实现一个具体SVC调用功能的程序呢 本节将带大家解决这个问题 示例详解 基于硬件
  • 【Python实战】数据预处理(数据清理、集成、变换、归约)

    Python实战 数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1 异常数据分析 2 异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1 实体识别 2 冗余属性 3 数据不一致 数据变换 1 使用简单的数学函数对数据进行变
  • 可验证延迟函数(VDF)

    干货 可验证延迟函数 VDF 自从以太坊将可验证延迟函数 Verifiable Delay Function VDF 列入研究计划并打算在以太坊 2 0 使用之后 VDF 得到了广泛的关注 VDF 这个概念最初由斯坦福大学密码学教授 Dan
  • osgEarth的Rex引擎原理分析(二十)osgEarth::TerrainEngineNode中setMap方法作用

    目标 十二 中的问题12 不同于派生类RexTerrainEngineNode中setMap的内容 详见 十二 在RexTerrainEngineNode执行setMap时会首先调用TerrainEngineNode的setMap 这里主要
  • NCRE网络技术知识点

    备考NCRE的三级网络技术 主要以刷题为主 考试大部分是题库中的原题 刷题的过程也要主要总结和复习 因为题库有很多重复的题目 重复的知识点 但是考试的时候记忆不清晰的话很容易重复犯错 弹性分组环 RPR 中每一个节点都执行SRP公平算法 与
  • CC攻击是怎么查看和预防的,云服务器有没有办法防止CC攻击

    网站被CC攻击后会出现访问速度很慢 影响用户体验 被搜索引擎K站 排名消失 那么 怎么排查自己被CC了呢 所谓的CC攻击 就是攻击者借助代理服务器生成指向受害主机的合法请求 从而实现DDOS和伪装 1 如果网站是动态网站 比如asp asp
  • Flask实现用户登录注册(附前后端源码)

    效果展示 登录 注册 主页面 项目结构 项目结构如下 项目采用蓝图进行视图函数的管理 每个功能被放在一个小的app中 登录和注册功能放在了app login文件夹中 后端Python代码 app login中的 init py创建了一个蓝图
  • Ubuntu20安装gcc11

    Ubuntu20默认情况下没有安装gcc和g 等工具 最近学习C 20的协程编程 需要将g cc 直接升级到11 下面介绍下方法 首先 添加安装源 sudo add apt repository y ppa ubuntu toolchain
  • C语言学习笔记(六)

    1 C语言关键字 C语言的32个基本关键字 c语言关键字 鵛的博客 CSDN博客 2 注意 define不是关键字 define是编译器的预编译指令 是编译器实现的 不是C语言的内容
  • CentOS安装TexLive2023

    这里写自定义目录标题 下载 wget https mirrors tuna tsinghua edu cn CTAN systems texlive Images texline 版本 iso wget https mirrors tuna
  • 虚函数与虚函数表详解

    虚函数的定义要遵循以下重要规则 1 如果虚函数在基类与派生类中出现 仅仅是名字相同 而形式参数不同 或者是返回类型不同 那么即使加上了virtual关键字 也是不会进行滞后联编的 2 只有类的成员函数才能说明为虚函数 因为虚函数仅适合用与有
  • Android studio 启动指定的activity

    Android studio的强大就不用多说了 今天说一下studio怎么启动到指定的Activity 场景 有如下5个Activity MainActivity Activity2 Activity3 Activity4 Activity
  • 体验一个全新的RTOS-QNX系统功能介绍

    锋影 e mail 174176320 qq com QNX的简单的介绍 这个我就很惭愧的引用一下官方的一些说法 QNX Quick Unix Unix AT T QNX 实时操作系统是由加拿大著名的QNX SOFTWARE SYSTEMS
  • PL/SQL程序设计_基本语法

    DECLARE V DATE DATE SYSDATE v var VARCHAR2 20 V VALID BOOLEAN BEGIN IF V VAR IS NULL THEN DBMS OUTPUT PUT LINE V VAR IS
  • H264(NAL简介与I帧判断)

    1 NAL全称Network Abstract Layer 即网络抽象层 在H 264 AVC视频编码标准中 整个系统框架被分为了两个层面 视频编码层面 VCL 和网络抽象层面 NAL 其中 前者负责有效表示视频数据的内容 而后者则负责格式
  • 使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

    使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到 投币 领取奖励 SCHEDULE BILIBILI 是一个B站自动执行任务的工具 使用 JS AXIOS 编写 通过它可以实现B站帐号的每日自动观看 分享 投币视频