/BilibiliTaskMirror

Primary LanguageJavaApache License 2.0Apache-2.0

Bilibili Task Mirror

本仓库是 srcrs/BlibiliTask 的一个镜像

简介

👯✨😄📫

哔哩哔哩(B站)自动完成每日任务, 投币,点赞,直播签到,自动兑换银瓜子为硬币,自动送出即将过期礼物,漫画App签到,大会员领取B币卷等。每天获得65点经验,助你快速升级到Lv6

开源不易,如果本项目对你有帮助,那么就请给个 star 吧。😄

重要提示,如果收到了b站的账号安全通知,可以考虑将 Actions 禁用一段时间,观望一段时间再进行使用,具体禁用步骤,请参考此 Issues

功能

  • 自动获取经验(投币、点赞、分享视频)
  • 直播辅助(直播签到,自动送出即将过期的礼物)
  • 自动兑换银瓜子为硬币
  • 自动领取年度大会员每月权益(每月1号领取B币劵、权益礼包)
  • 月底自动用B币卷给自己充电(每月28号)
  • 月底自动用B币卷兑换金瓜子(每月28号)
  • 漫画辅助脚本(漫画APP签到)
  • 支持功能自定义(自定义投币数量,银瓜子兑换硬币开关等)
  • 账户失效提醒(发送到你的微信或者钉钉提醒、邮箱提醒)
  • 支持多种方式推送运行结果(钉钉、微信)
  • 支持Docker自己部署

目录

关于日志中的 ✔ 和 ❌ 说明

符号 说明
本次程序运行,成功的执行了代码,并完成了任务(例如,分享视频,今日未分享过,那么程序就应该请求分享视频的接口,协助完成分享视频的任务)。
可能两种操作会出现这个符号。1.程序成功的执行了,尝试去完成任务,但是中途遇到了未知的失败。2.程序成功的执行了,检测到此类任务已经完成(例如,分享视频,今日已经分享过,那么程序不应该请求分享视频的接口,无需协助完成分享视频的任务),就无需再去完成。可以理解为跳过或遇到错误。

Github Actions 部署方法

fork本项目

项目地址:srcrs/BilibiliTask

准备需要的参数

本项目成功运行需要三个参数,分别是SESSDATAbili_jctDedeUserID

  • 打开b站首页(任意一个页面都行)--> 按下F12 --> Application --> Cookies --> https://www.bilibili.com

  • 找到所需要参数对应的数据,找不到可能是你的账号没有登录。

将获取到参数填到Secrets

Secrets中的NameValue格式如下:

Name Value
BILI_JCT xxxxx
DEDEUSERID xxxxx
SESSDATA xxxxx

将上一步获取的参数,填入到Secrets中,一共需要添加三个键值对。

开启actions

默认actions处于禁止状态,在Actions选项中开启Actions功能,把那个绿色的长按钮点一下。如果看到左侧工作流上有黄色!号,还需继续开启。

进行一次push操作

默认push操作会触发工作流运行。

  • 打开README.md,将里面的 😄 删除一个即可。

  • 查看actions,显示对勾就说明运行成功了。以后会在每天的10:38执行,自动完成每日任务。

Docker 部署方法

  • 使用如下命令请自行替换所需的环境变量
  • 每天00:01分运行程序
docker run -d \
  --env BILI_JCT=自行填写 \
  --env DEDEUSERID=自行填写 \
  --env SESSDATA=自行填写 \
  timmyovo/bilibilitask

进阶使用

配置文件说明

配置文件的位置在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 😄

推送运行结果到微信

使用server酱将程序运行结果推送到微信

server酱官网:http://sc.ftqq.com

  • 按照server酱官网使用教程,用github登录并绑定微信。

  • 获得SCKEY并将其填入到Secrets中。

Secrets中的NameValue格式如下:

Name Value
SCKEY xxxxx

这样就可以在微信接收到运行结果了。

使用server酱测试号版推送运行结果到微信

server酱测试号版官网:https://sct.ftqq.com/

  • 按照server酱测试号版官网使用教程,用微信扫码登录。

  • 获得SENDKEY并将其填入到Secrets中。

Name Value
SENDKEY xxxxx

使用push+推送运行结果到微信

注意:pushplus进行了升级,查看pushplus 后续暂停维护通知

push+官网:http://www.pushplus.plus

  • 进入官网首页点击一对一推送,用微信扫描其二维码,进行关注

  • 关注后,即可看到token,将其添加到Secrets中即可

Secrets中的NameValue格式如下:

Name Value
PUSHPLUSTK xxxxx

推送运行结果到钉钉

1.首先,你需要在钉钉创建一个群聊,可以拉去两个人创建一个,再把他们踢出去。

2.获取钉钉自定义机器人的Webhook,将其填写到Secrets

键值对如下格式:

Name Value
DINGTALK https://oapi.dingtalk.com/robot/send?access_token=064559acaa666c43d5ba197656594f288f3acef9a64f4f43218beddd1c7b7050

使用Telegram bot推送运行结果到Telgram群组

  1. 首先需要创建 telegram bot 并获取 telegram bot token,可以参考文档
  2. 将机器人加入群组中,并获取群组ID,查看Stackoverflow问答
  3. 将 telegram bot token 和群组ID添加到Secrets中即可。

Secrets中的NameValue格式如下:

Name Value
TELEGRAM_BOT_TOKEN xxxxx
TELEGRAM_CHAT_ID xxxxx

自定义程序运行时间

.github/workflows/Bilibili.yml修改cron表达式,需要注意的是,cron表达式是国际时间, 需要换算到国内时间,往后推8个小时,例如国际时间是12点钟,则在国内是20点钟。

拉取最新代码

方法一

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,需要注意。

参考项目

happy888888/BiliExp