pull file
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
Close Stale Issues / close_stale_issues (push) Has been cancelled
repo-sync / repo-sync (push) Has been cancelled
auto-deploy-tencent-scf / pre-check (push) Has been cancelled
auto-deploy-tencent-scf / deploy serverless (push) Has been cancelled

This commit is contained in:
2026-02-11 23:32:56 +08:00
commit e519cac94e
656 changed files with 45058 additions and 0 deletions

814
docs/configuration.md Normal file
View File

@@ -0,0 +1,814 @@
# 配置说明
**[目录]**
<!-- TOC depthFrom:2 insertAnchor:true -->
- [1. 配置方式](#1-配置方式)
- [1.1. 方式一:修改配置文件](#11-方式一修改配置文件)
- [1.2. 方式二:命令启动时通过命令行参数配置](#12-方式二命令启动时通过命令行参数配置)
- [1.3. 方式三:添加环境变量(推荐)](#13-方式三添加环境变量推荐)
- [1.4. 方式四:托管在青龙面板上,使用面板的环境变量页或配置文件页进行配置](#14-方式四托管在青龙面板上使用面板的环境变量页或配置文件页进行配置)
- [2. 优先级](#2-优先级)
- [3. 详细配置说明](#3-详细配置说明)
- [3.1. Cookie字符串](#31-cookie字符串)
- [3.2. 安全相关的配置](#32-安全相关的配置)
- [3.2.1. 是否跳过执行任务](#321-是否跳过执行任务)
- [3.2.2. 随机睡眠的最大时长](#322-随机睡眠的最大时长)
- [3.2.3. 两次调用B站Api之间的间隔秒数](#323-两次调用b站api之间的间隔秒数)
- [3.2.4. 间隔秒数所针对的HttpMethod](#324-间隔秒数所针对的httpmethod)
- [3.2.5. 请求B站接口时头部传递的User-Agent](#325-请求b站接口时头部传递的user-agent)
- [3.2.6. App请求B站接口时头部传递的User-Agent](#326-app请求b站接口时头部传递的user-agent)
- [3.2.7. WebProxy代理](#327-webproxy代理)
- [3.3. 每日任务相关](#33-每日任务相关)
- [3.3.1. 是否开启观看视频任务](#331-是否开启观看视频任务)
- [3.3.2. 是否开启分享视频任务](#332-是否开启分享视频任务)
- [3.3.3. 每日投币数量](#333-每日投币数量)
- [3.3.4. 投币时是否同时点赞](#334-投币时是否同时点赞)
- [3.3.5. 优先选择支持的up主Id集合](#335-优先选择支持的up主id集合)
- [3.3.6. 每月几号自动领取会员权益](#336-每月几号自动领取会员权益)
- [3.3.7. 每月几号进行直播中心银瓜子兑换硬币](#337-每月几号进行直播中心银瓜子兑换硬币)
- [3.3.8. Lv6后开启硬币白嫖模式](#338-lv6后开启硬币白嫖模式)
- [3.3.9. 是否开启专栏投币](#339-是否开启专栏投币)
- [3.4. 天选时刻抽奖相关](#34-天选时刻抽奖相关)
- [3.4.1. 根据关键字排除奖品](#341-根据关键字排除奖品)
- [3.4.2. 根据关键字指定奖品](#342-根据关键字指定奖品)
- [3.4.3. 天选抽奖后是否自动分组关注的主播](#343-天选抽奖后是否自动分组关注的主播)
- [3.4.4. 天选筹抽奖主播Uid黑名单](#344-天选筹抽奖主播uid黑名单)
- [3.5. 批量取关相关](#35-批量取关相关)
- [3.5.1. 想要批量取关的分组名称](#351-想要批量取关的分组名称)
- [3.5.2. 批量取关的人数](#352-批量取关的人数)
- [3.5.3. 取关白名单](#353-取关白名单)
- [3.6. 大积分相关](#36-大积分相关)
- [3.6.1. 自定义观看番剧](#361-自定义观看番剧)
- [3.7. 免费B币券充电](#37-免费b币券充电)
- [3.7.1. 充电对象](#371-充电对象)
- [3.8. 推送相关](#38-推送相关)
- [3.8.1. 是否开启每个账号单独推送消息](#381-是否开启每个账号单独推送消息)
- [3.8.2. Telegram机器人](#382-telegram机器人)
- [3.8.2.1. botToken](#3821-bottoken)
- [3.8.2.2. chatId](#3822-chatid)
- [3.8.2.3. proxy](#3823-proxy)
- [3.8.3. 企业微信机器人](#383-企业微信机器人)
- [3.8.3.1. webHookUrl](#3831-webhookurl)
- [3.8.4. 钉钉机器人](#384-钉钉机器人)
- [3.8.4.1. webHookUrl](#3841-webhookurl)
- [3.8.5. Server酱](#385-server酱)
- [3.8.5.1. TurboScKeyServer酱SCKEY](#3851-turbosckeyserver酱sckey)
- [3.8.6. 酷推](#386-酷推)
- [3.8.6.1. sKey](#3861-skey)
- [3.8.7. 推送到自定义Api](#387-推送到自定义api)
- [3.8.7.1. api](#3871-api)
- [3.8.7.2. placeholder](#3872-placeholder)
- [3.8.7.3. bodyJsonTemplate](#3873-bodyjsontemplate)
- [3.8.8. PushPlus[推荐]](#388-pushplus推荐)
- [3.8.8.1. PushPlus的Token](#3881-pushplus的token)
- [3.8.8.2. PushPlus的Topic](#3882-pushplus的topic)
- [3.8.8.3. PushPlus的Channel](#3883-pushplus的channel)
- [3.8.8.4. PushPlus的Webhook](#3884-pushplus的webhook)
- [3.8.9. Microsoft Teams](#389-microsoft-teams)
- [3.8.9.1. Microsoft Teams的Webhook](#3891-microsoft-teams的webhook)
- [3.8.10. 企业微信应用推送](#3810-企业微信应用推送)
- [3.8.10.1. 企业微信应用推送的corpId](#38101-企业微信应用推送的corpid)
- [3.8.10.2. 企业微信应用推送的agentId](#38102-企业微信应用推送的agentid)
- [3.8.10.3. 企业微信应用推送的secret](#38103-企业微信应用推送的secret)
- [3.9. 日志相关](#39-日志相关)
- [3.9.1. 日志输出等级](#391-日志输出等级)
- [3.9.2. 日志输出样式](#392-日志输出样式)
- [3.9.3. 定时任务相关](#393-定时任务相关)
- [3.9.4. 定时任务](#394-定时任务)
<!-- /TOC -->
<a id="markdown-1-配置方式" name="1-配置方式"></a>
## 1. 配置方式
<a id="markdown-11-方式一修改配置文件" name="11-方式一修改配置文件"></a>
### 1.1. 方式一:修改配置文件
推荐使用Release包在本地运行的朋友使用直接打开文件将对应的配置值填入保存即可生效。
默认有3个配置文件`appsettings.json``appsettings.Development.json``appsettings.Production.json`,分别对应默认、开发与生产环境。
对于不是开发人员的大部分人来说,只需要关注`appsettings.Production.json`即可。
<a id="markdown-12-方式二命令启动时通过命令行参数配置" name="12-方式二命令启动时通过命令行参数配置"></a>
### 1.2. 方式二:命令启动时通过命令行参数配置
在使用命令行启动时,可使用`-key=value`的形式附加配置,所有可用的命令行参数均在 [命令行参数映射表](../src/Ray.BiliBiliTool.Config/Constants.cs#L76-L105) 中。
* 使用跨平台的依赖包
各个系统只要安装了net5环境均可使用dotnet命令启动命令样例
```
dotnet Ray.BiliBiliTool.Console.dll -cookieStr=abc -numberOfCoins=5
```
* Windows系统
使用自包含包win-x86-x64.zip命令样例
```
Ray.BiliBiliTool.Console.exe -cookieStr=abc -numberOfCoins=5
```
* Linux系统
使用自包含包linux.zip命令样例
```
Ray.BiliBiliTool.Console -cookieStr=abc -numberOfCoins=5
```
如映射文件所展示,支持使用命令行配置的配置项并不多,也不建议大量地使用该种方式进行配置。使用包运行的朋友,除了改配置文件和命令行参数配置外,还可以使用环境变量进行配置,这也是推荐的做法,如下。
<a id="markdown-13-方式三添加环境变量推荐" name="13-方式三添加环境变量推荐"></a>
### 1.3. 方式三:添加环境变量(推荐)
所有的配置项均可以通过添加环境变量来进行配置。如:
Linux下运行Web
```bash
# 添加环境变量作为配置:
export RunTasks="Daily"
export BiliBiliCookies__1="abc"
export BiliBiliCookies__2="efg"
export DailyTaskConfig__NumberOfCoins="3"
# 开始运行程序:
dotnet BiliBiliTool.Web.dll
```
Linux下运行Console
```bash
# 添加环境变量作为配置:
export Ray_RunTasks="Daily"
export Ray_BiliBiliCookies__1="abc"
export Ray_BiliBiliCookies__2="efg"
export Ray_DailyTaskConfig__NumberOfCoins="3"
# 开始运行程序:
dotnet Ray.BiliBiliTool.Console.dll
```
注意Console需要添加`Ray_`前缀win系统使用`set`关键字代替`export`
<a id="markdown-14-方式四托管在青龙面板上使用面板的环境变量页或配置文件页进行配置" name="14-方式四托管在青龙面板上使用面板的环境变量页或配置文件页进行配置"></a>
### 1.4. 方式四:托管在青龙面板上,使用面板的环境变量页或配置文件页进行配置
青龙面板配置,其本质还是通过环境变量进行配置,有如下两种方式。
- 环境变量页[推荐]
例如:
名称:`Ray_BiliBiliCookies__1`
值:`abcde`
<img src="/docs/imgs/qinglong-env.png" alt="qinglong-env" width="800" />
- 配置文件页
例如配置Cookie和推送
```
export Ray_BiliBiliCookies__1="_uuid=abc..."
export Ray_Serilog__WriteTo__9__Args__token="abcde"
```
<img src="/docs/imgs/qinglong-config.png" alt="qinglong-config" width="800" />
配置文件页添加、修改配置,需要重启青龙容器使之生效,环境变量页则可以立即生效,所以推荐使用环境变量页配置。
<a id="markdown-2-优先级" name="2-优先级"></a>
## 2. 优先级
以上 4 种配置源其优先级由低到高依次是json文件 < 环境变量 < 命令行
高优先级的配置会覆盖低优先级的配置
<a id="markdown-3-详细配置说明" name="3-详细配置说明"></a>
## 3. 详细配置说明
Console项目青龙的环境变量需要添加`Ray_`前缀,其他不用。
比如原始配置Key为`BiliBiliCookies__1`Console则为`Ray_BiliBiliCookies__1`
<a id="markdown-31-cookie字符串" name="31-cookie字符串"></a>
### 3.1. Cookie字符串
必填,数组,可以多个。
| TITLE | CONTENT | 示例 |
| ----- | ------------------- | -------------------------------------------- |
| 配置Key | `BiliBiliCookies__1` | |
| 值域 | 字符串,英文分号分隔,来自浏览器抓取 | `export BiliBiliCookies__1=abc=123;def=456;` |
| 默认值 | 空 | |
| TITLE | CONTENT | 示例 |
| ----- | ------------------- | -------------------------------------------- |
| 配置Key | `BiliBiliCookies__2` | |
| 值域 | 字符串,英文分号分隔,来自浏览器抓取 | `export BiliBiliCookies__1=abc=123;def=456;` |
| 默认值 | 空 | |
<a id="markdown-32-安全相关的配置" name="32-安全相关的配置"></a>
### 3.2. 安全相关的配置
<a id="markdown-321-是否跳过执行任务" name="321-是否跳过执行任务"></a>
#### 3.2.1. 是否跳过执行任务
用于特殊情况下,通过配置灵活的开启和关闭整个应用。
配置为关闭后程序会跳过所有任务不会调用B站任何接口。
| TITLE | CONTENT | 示例 |
| ----- | ------------------------------- | ------------------------------------ |
| 配置Key | `Security__IsSkipDailyTask` | |
| 值域 | [true,false] | `export Security__IsSkipDailyTask=true` |
| 默认值 | false | |
<a id="markdown-322-随机睡眠的最大时长" name="322-随机睡眠的最大时长"></a>
#### 3.2.2. 随机睡眠的最大时长
用于设置程序启动后,随机睡眠时间的最大上限值,单位为分钟。
这样可以避免程序每天准点地在同一时间运行太像机器。
配置为0则不进行睡眠。
| TITLE | CONTENT |
| ----- | --------------------------------- |
| 配置Key | `Security__RandomSleepMaxMin` |
| 值域 | 数字 |
| 默认值 | 20 |
<a id="markdown-323-两次调用b站api之间的间隔秒数" name="323-两次调用b站api之间的间隔秒数"></a>
#### 3.2.3. 两次调用B站Api之间的间隔秒数
用于设置两次Api请求之间的最短时间间隔避免程序在1到2秒内连续调用B站的Api过快。
| TITLE | CONTENT |
| ----- | ------------------------------------------------ |
| 配置Key | `Security__IntervalSecondsBetweenRequestApi` |
| 值域 | [0,+] |
| 默认值 | 20 |
<a id="markdown-324-间隔秒数所针对的httpmethod" name="324-间隔秒数所针对的httpmethod"></a>
#### 3.2.4. 间隔秒数所针对的HttpMethod
间隔秒数所针对的HttpMethod类型服务于上一个配置。服务器一般对GET请求不是很敏感建议只针对POST请求做间隔就可以了。
| TITLE | CONTENT |
| ----- | ----------------------------------- |
| 配置Key | `Security__IntervalMethodTypes` |
| 值域 | [GET,POST],多个以英文逗号分隔 |
| 默认值 | POST |
<a id="markdown-325-请求b站接口时头部传递的user-agent" name="325-请求b站接口时头部传递的user-agent"></a>
#### 3.2.5. 请求B站接口时头部传递的User-Agent
| TITLE | CONTENT |
| ----- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| 配置Key | `Security__UserAgent` |
| 值域 | 字符串可以F12从自己的浏览器获取 |
| 默认值 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 Edg/87.0.664.41 |
获取浏览器中自己的UA的方法见下图
<img src="/docs/imgs/get-user-agent.png" alt="get-user-agent" width="800" />
<a id="markdown-326-app请求b站接口时头部传递的user-agent" name="326-app请求b站接口时头部传递的user-agent"></a>
#### 3.2.6. App请求B站接口时头部传递的User-Agent
| TITLE | CONTENT |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 配置Key | `Security__UserAgentApp` |
| 值域 | 字符串可以F12从自己的浏览器获取 |
| 默认值 | Mozilla/5.0 (Linux; Android 12; SM-S9080 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36 os/android model/SM-S9080 build/7760700 osVer/12 sdkInt/32 network/2 BiliApp/7760700 mobi_app/android channel/bili innerVer/7760710 c_locale/zh_CN s_locale/zh_CN disable_rcmd/0 7.76.0 os/android model/SM-S9080 mobi_app/android build/7760700 channel/bili innerVer/7760710 osVer/12 network/2 |
获取浏览器中自己的UA的方法见下图
<img src="/docs/imgs/get-user-agent.png" alt="get-user-agent" width="800" />
<a id="markdown-327-webproxy代理" name="327-webproxy代理"></a>
#### 3.2.7. WebProxy代理
支持需要账户密码的代理。
| TITLE | CONTENT |
| -------------- | ------------------------------ |
| 配置Key | `Security__WebProxy` |
| 值域 | 字符串形如user:password@host:port |
| 默认值 | 无 |
<a id="markdown-33-每日任务相关" name="33-每日任务相关"></a>
### 3.3. 每日任务相关
<a id="markdown-331-是否开启观看视频任务" name="331-是否开启观看视频任务"></a>
#### 3.3.1. 是否开启观看视频任务
当该配置被设置为`false`时会导致大积分任务中的签到领额外10点经验的任务不能自动完成。
| TITLE | CONTENT |
| ----- | ------------------------------- |
| 配置Key | `DailyTaskConfig__IsWatchVideo` |
| 值域 | [true,false] |
| 默认值 | true |
<a id="markdown-332-是否开启分享视频任务" name="332-是否开启分享视频任务"></a>
#### 3.3.2. 是否开启分享视频任务
| TITLE | CONTENT |
| ----- | ------------------------------- |
| 配置Key | `DailyTaskConfig__IsShareVideo` |
| 值域 | [true,false] |
| 默认值 | true |
<a id="markdown-333-每日投币数量" name="333-每日投币数量"></a>
#### 3.3.3. 每日投币数量
每天投币的总目标数量因为投币获取经验只与次数有关所以程序每次投币只会投1个也就是说该配置也表示每日投币次数。
| TITLE | CONTENT |
| ----- | -------------------------------- |
| 配置Key | `DailyTaskConfig__NumberOfCoins` |
| 值域 | [0,5]为安全考虑程序内部还会做验证最大不能超过5 |
| 默认值 | 5 |
<a id="markdown-334-投币时是否同时点赞" name="334-投币时是否同时点赞"></a>
#### 3.3.4. 投币时是否同时点赞
| TITLE | CONTENT |
| ----- | ----------------------------- |
| 配置Key | `DailyTaskConfig__SelectLike` |
| 值域 | [true,false] |
| 默认值 | false |
<a id="markdown-335-优先选择支持的up主id集合" name="335-优先选择支持的up主id集合"></a>
#### 3.3.5. 优先选择支持的up主Id集合
通过填入自己选择的up主ID以后观看、分享和投币都会优先从配置的up主下面挑选视频如果没有找到,则会去你的**特别关注**列表中随机再获取,再然后会去**普通关注**列表中随机获取,最后会去排行榜中随机获取。
**注意该配置的默认值是作者的upId如需换掉的话直接更改即可。**
| TITLE | CONTENT |
| ----- | --------------------------------------------------------------- |
| 配置Key | `DailyTaskConfig__SupportUpIds` |
| 值域 | up主ID多个用英文逗号分隔默认是作者本人的UpId如需删除可以配置为空格字符串或"-1"也可以配置为其他人的UpId |
| 默认值 | 作者的upId |
获取UP主的Id方法打开bilibili进入欲要选择的UP主主页在url中和简介中都可获得该UP主的Id如下图所示
<img src="/docs/imgs/get-up-id.png" alt="get-up-id" width="800" />
<a id="markdown-336-每月几号自动领取会员权益" name="336-每月几号自动领取会员权益"></a>
#### 3.3.6. 每月几号自动领取会员权益
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `DailyTaskConfig__DayOfReceiveVipPrivilege` |
| 值域 | [-1,31]-1表示不指定默认每月1号0表示不领取 |
| 默认值 | 1 |
<a id="markdown-337-每月几号进行直播中心银瓜子兑换硬币" name="337-每月几号进行直播中心银瓜子兑换硬币"></a>
#### 3.3.7. 每月几号进行直播中心银瓜子兑换硬币
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `DailyTaskConfig__DayOfExchangeSilver2Coin` |
| 值域 | [-1,31]-1表示不指定默认每月最后一天-2表示每天0表示不进行兑换 |
| 默认值 | -1 |
<a id="markdown-338-lv6后开启硬币白嫖模式" name="338-lv6后开启硬币白嫖模式"></a>
#### 3.3.8. Lv6后开启硬币白嫖模式
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `DailyTaskConfig__SaveCoinsWhenLv6` |
| 值域 | [true,false]true表示开启Lv6的账号不会投币 |
| 默认值 | false |
<a id="markdown-339-是否开启专栏投币" name="339-是否开启专栏投币"></a>
#### 3.3.9. 是否开启专栏投币
| TITLE | CONTENT | |
| ----- | ----------------------------------------- | --- |
| 配置Key | `DailyTaskConfig__IsDonateCoinForArticle` | |
| 值域 | [true,false] | |
| 默认值 | false | |
<a id="markdown-34-天选时刻抽奖相关" name="34-天选时刻抽奖相关"></a>
### 3.4. 天选时刻抽奖相关
<a id="markdown-341-根据关键字排除奖品" name="341-根据关键字排除奖品"></a>
#### 3.4.1. 根据关键字排除奖品
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `LiveLotteryTaskConfig__ExcludeAwardNames` |
| 值域 | 一串字符串,多个关键字使用`\|`符号隔开 |
| 默认值 | `舰\|船\|航海\|代金券\|自拍\|照\|写真\|图` |
<a id="markdown-342-根据关键字指定奖品" name="342-根据关键字指定奖品"></a>
#### 3.4.2. 根据关键字指定奖品
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `LiveLotteryTaskConfig__IncludeAwardNames` |
| 值域 | 一串字符串,多个关键字使用`\|`符号隔开 |
| 默认值 | 空 |
<a id="markdown-343-天选抽奖后是否自动分组关注的主播" name="343-天选抽奖后是否自动分组关注的主播"></a>
#### 3.4.3. 天选抽奖后是否自动分组关注的主播
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `LiveLotteryTaskConfig__AutoGroupFollowings` |
| 值域 | [true,false] |
| 默认值 | true |
<a id="markdown-344-天选筹抽奖主播uid黑名单" name="344-天选筹抽奖主播uid黑名单"></a>
#### 3.4.4. 天选筹抽奖主播Uid黑名单
不想参与抽奖的主播Upid集合多个用英文逗号分隔配置后不会参加黑名单中的主播的抽奖活动。默认值是目前已知的中奖后拒绝发奖的Up后期还会继续补充也反映反馈。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `LiveLotteryTaskConfig__DenyUids` |
| 值域 | 字符串,如"65566781,1277481241" |
| 默认值 | "65566781,1277481241,1643654862,603676925" |
<a id="markdown-35-批量取关相关" name="35-批量取关相关"></a>
### 3.5. 批量取关相关
<a id="markdown-351-想要批量取关的分组名称" name="351-想要批量取关的分组名称"></a>
#### 3.5.1. 想要批量取关的分组名称
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `UnfollowBatchedTaskConfig__GroupName` |
| 值域 | 字符串 |
| 默认值 | 天选时刻 |
<a id="markdown-352-批量取关的人数" name="352-批量取关的人数"></a>
#### 3.5.2. 批量取关的人数
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `UnfollowBatchedTaskConfig__Count` |
| 值域 | 数字,[-1,+]-1表示全部 |
| 默认值 | 5 |
<a id="markdown-353-取关白名单" name="353-取关白名单"></a>
#### 3.5.3. 取关白名单
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `UnfollowBatchedTaskConfig__RetainUids` |
| 值域 | 字符串,多个使用英文逗号分隔 |
| 默认值 | 108569350 |
<a id="markdown-36-大积分相关" name="36-大积分相关"></a>
### 3.6. 大积分相关
<a id="markdown-361-自定义观看番剧" name="361-自定义观看番剧"></a>
#### 3.6.1. 自定义观看番剧
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `VipBigPointConfig__ViewBangumis` |
| 值域 | 番剧的ssidseason_id |
| 默认值 | `33378`(名侦探柯南) |
<a id="markdown-37-免费b币券充电" name="37-免费b币券充电"></a>
### 3.7. 免费B币券充电
<a id="markdown-371-充电对象" name="371-充电对象"></a>
#### 3.7.1. 充电对象
充电对象的upId-1表示不指定~~默认为自己充电~~其他Id则会尝试为配置的UpId充电。
注意之前可以不配置默认为自己充电但后来阿B改了规则不再允许自己冲自己。。。
建议配置为自己小号(小号需要认证为作者并开启充电),或者也可以配置为 -1以支持作者~
| TITLE | CONTENT |
| ----- | --------------------------------- |
| 配置Key | `ChargeTaskConfig__AutoChargeUpId` |
| 值域 | up的Id字符串 |
| 默认值 | 无 |
<a id="markdown-38-推送相关" name="38-推送相关"></a>
### 3.8. 推送相关
v1.0.x仅支持推送到Server酱v1.1.x之后重新定义了推送地概念将推送仅看作不同地日志输出端与Console、File没有本质区别。
配置多个多个端均会收到日志消息。推荐Telegram、企业微信、Server酱。
<a id="markdown-381-是否开启每个账号单独推送消息" name="381-是否开启每个账号单独推送消息"></a>
#### 3.8.1. 是否开启每个账号单独推送消息
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Notification__IsSingleAccountSingleNotify` |
| 意义 | 开启后,每个账号会单独推送消息。否则多账号合并只推送一条消息 |
| 值域 | [true,false] |
| 默认值 | true |
<a id="markdown-382-telegram机器人" name="382-telegram机器人"></a>
#### 3.8.2. Telegram机器人
<img src="/docs/imgs/push-tg.png" alt="push-tg" width="400" />
<a id="markdown-3821-bottoken" name="3821-bottoken"></a>
##### 3.8.2.1. botToken
点击 https://core.telegram.org/api#bot-api 查看如何创建机器人并获取到机器人的botToken。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__3__Args__botToken` |
| 意义 | 用于将日志输出到Telegram机器人 |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-3822-chatid" name="3822-chatid"></a>
##### 3.8.2.2. chatId
点击 https://api.telegram.org/bot{TOKEN}/getUpdates 获取到与机器人的chatId需要用上面获取到的Token替换进链接里的{TOKEN}后访问)
P.S.访问链接需要能访问"外网"有vpn的挂vpn。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__3__Args__chatId` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | 无 |
<a id="markdown-3823-proxy" name="3823-proxy"></a>
##### 3.8.2.3. proxy
使用代理
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__3__Args__proxy` |
| 值域 | 一串字符串格式为user:password@host:port |
| 默认值 | 空 |
| 命令行示范 | 无 |
<a id="markdown-383-企业微信机器人" name="383-企业微信机器人"></a>
#### 3.8.3. 企业微信机器人
在群内添加机器人获取到机器人的WebHook地址添加到配置中。
<img src="/docs/imgs/push-workweixin.png" alt="push-workweixin" width="400" />
<a id="markdown-3831-webhookurl" name="3831-webhookurl"></a>
##### 3.8.3.1. webHookUrl
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__4__Args__webHookUrl` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | 无 |
<a id="markdown-384-钉钉机器人" name="384-钉钉机器人"></a>
#### 3.8.4. 钉钉机器人
在群内添加机器人获取到机器人的WebHook地址添加到配置中。
机器人的安全策略,当前不支持加签,请使用关键字策略,推荐关键字:`Ray``BiliBili`
<img src="/docs/imgs/push-ding.png" alt="push-ding" width="400" />
<a id="markdown-3841-webhookurl" name="3841-webhookurl"></a>
##### 3.8.4.1. webHookUrl
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__5__Args__webHookUrl` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-385-server酱" name="385-server酱"></a>
#### 3.8.5. Server酱
官网: http://sc.ftqq.com/9.version
<img src="/docs/imgs/wechat-push.png" alt="wechat-push" width="400" />
<a id="markdown-3851-turbosckeyserver酱sckey" name="3851-turbosckeyserver酱sckey"></a>
##### 3.8.5.1. TurboScKeyServer酱SCKEY
获取方式请参考官网。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__6__Args__turboScKey` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-386-酷推" name="386-酷推"></a>
#### 3.8.6. 酷推
https://cp.xuthus.cc/
<a id="markdown-3861-skey" name="3861-skey"></a>
##### 3.8.6.1. sKey
该平台可能还在完善当中对接时我发现其接口定义不规范且机器人容易被封所以不推荐使用且不接受提酷推推送相关bug。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__7__Args__sKey` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-387-推送到自定义api" name="387-推送到自定义api"></a>
#### 3.8.7. 推送到自定义Api
这是我简单封装了一个通用的推送接口可以推送到任意的api地址如果有自己的机器人或自己的用于接受日志的api可以根据需要自定义配置。
<a id="markdown-3871-api" name="3871-api"></a>
##### 3.8.7.1. api
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__8__Args__api` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-3872-placeholder" name="3872-placeholder"></a>
##### 3.8.7.2. placeholder
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__8__Args__placeholder` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-3873-bodyjsontemplate" name="3873-bodyjsontemplate"></a>
##### 3.8.7.3. bodyJsonTemplate
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__8__Args__bodyJsonTemplate` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-388-pushplus推荐" name="388-pushplus推荐"></a>
#### 3.8.8. PushPlus[推荐]
官网: http://www.pushplus.plus/doc/
<a id="markdown-3881-pushplus的token" name="3881-pushplus的token"></a>
##### 3.8.8.1. PushPlus的Token
获取方式请参考官网。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__9__Args__token` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-3882-pushplus的topic" name="3882-pushplus的topic"></a>
##### 3.8.8.2. PushPlus的Topic
获取方式请参考官网。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__9__Args__topic` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
<a id="markdown-3883-pushplus的channel" name="3883-pushplus的channel"></a>
##### 3.8.8.3. PushPlus的Channel
获取方式请参考官网。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__9__Args__channel` |
| 值域 | 一串字符串,[wechat,webhook,cp,sms,mail] |
| 默认值 | 空 |
<a id="markdown-3884-pushplus的webhook" name="3884-pushplus的webhook"></a>
##### 3.8.8.4. PushPlus的Webhook
获取方式请参考官网。
webhook编码(不是地址)在官网平台设定仅在channel使用webhook渠道和CP渠道时需要填写
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__9__Args__webhook` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | |
<a id="markdown-389-microsoft-teams" name="389-microsoft-teams"></a>
#### 3.8.9. Microsoft Teams
官网: https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook
<a id="markdown-3891-microsoft-teams的webhook" name="3891-microsoft-teams的webhook"></a>
##### 3.8.9.1. Microsoft Teams的Webhook
webhook的完整地址在Teams的Channel中获取详细获取方式请参考官网。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__10__Args__webhook` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | |
<a id="markdown-3810-企业微信应用推送" name="3810-企业微信应用推送"></a>
#### 3.8.10. 企业微信应用推送
官网: https://developer.work.weixin.qq.com/tutorial/application-message
`corpId``agentId``secret`均不为空时,自动开启推送,否则关闭。
`toUser``toParty``toTag`3个配置非必填但不可同时为空默认`toUser``@all`,向所有用户推送。
<a id="markdown-38101-企业微信应用推送的corpid" name="38101-企业微信应用推送的corpid"></a>
##### 3.8.10.1. 企业微信应用推送的corpId
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__11__Args__corpId` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | |
<a id="markdown-38102-企业微信应用推送的agentid" name="38102-企业微信应用推送的agentid"></a>
##### 3.8.10.2. 企业微信应用推送的agentId
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__11__Args__agentId` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | |
<a id="markdown-38103-企业微信应用推送的secret" name="38103-企业微信应用推送的secret"></a>
##### 3.8.10.3. 企业微信应用推送的secret
| TITLE | CONTENT |
| ----- | -------------------------------- |
| 配置Key | `Serilog__WriteTo__11__Args__secret` |
| 值域 | 一串字符串 |
| 默认值 | 空 |
| 命令行示范 | |
<a id="markdown-39-日志相关" name="39-日志相关"></a>
### 3.9. 日志相关
<a id="markdown-391-日志输出等级" name="391-日志输出等级"></a>
#### 3.9.1. 日志输出等级
为了美观, BiliBiliTool 默认只输出最低等级为 Information 的日志,保证只展示最精简的信息。
通过更改等级,可以指定日志输出的详细程度。
BiliBiliTool 使用 Serilog 作为日志组件,所以其值域与 Serilog 的日志等级选项相同,这里只建议在需要调试时改为`Debug`应用会输出详细的调试日志信息包括每次调用B站Api的请求参数与返回数据。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__0__Args__restrictedToMinimumLevel` |
| 值域 | [Information,Debug] |
| 默认值 | 1 |
<a id="markdown-392-日志输出样式" name="392-日志输出样式"></a>
#### 3.9.2. 日志输出样式
这里的日志样式指的是 Console 的等级,即 GitHub Actions 里和微信推送里看到的日志。
通过更改模板样式,可以指定日志输出的样式,比如不输出时间和等级,做到最精简的样式。
BiliBiliTool 使用 Serilog 作为日志组件,所以可以参考 Serilog 的日志样式模板。
| TITLE | CONTENT |
| ---------- | -------------- |
| 配置Key | `Serilog__WriteTo__0__Args__outputTemplate` |
| 值域 | 字符串 |
| 默认值 | `[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}` |
<a id="markdown-393-定时任务相关" name="393-定时任务相关"></a>
#### 3.9.3. 定时任务相关
适用于 [方式四docker容器化运行推荐](../docker/README.md),用于配置定时任务。
<a id="markdown-394-定时任务" name="394-定时任务"></a>
#### 3.9.4. 定时任务
以下环境变量的值应为有效的 [cron 表达式](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm)。
当被设置时,对应定时任务将开启。
| 环境变量 | 定时任务 |
| --------------------------------- | ------ |
| `DailyTaskConfig__Cron` | 每日任务 |
| `LiveLotteryTaskConfig__Cron` | 天选时刻抽奖 |
| `UnfollowBatchedTaskConfig__Cron` | 批量取关 |
| `VipBigPointConfig__Cron` | 大会员大积分 |