RayWangQvQ/BiliBiliToolPro · error · BiliBusinessException
allTasks.ToJsonStr()
Error message
allTasks.ToJsonStr()
What it means
GetCombineAsync fetches the大会员 (VIP big point) combined task list from the Bilibili API. If the API returns Code != 0 the service throws BiliBusinessException whose message is the entire response serialized to JSON (allTasks.ToJsonStr()). Because the message is the full JSON body, inspect it to find the upstream 'message' field describing the actual failure.
Solutions
- Update the cookie config with fresh SESSDATA/bili_jct/buvid values.
- Parse the JSON message in the exception to read the upstream 'message' field and address that specific code.
- Confirm the account still has大会员 status; the combine endpoint requires it.
- Wrap the combine task call in try-catch to log and continue with remaining daily tasks.
Example fix
// before
var tasks = await vipBigPointService.GetCombineAsync(ck);
// after
try { var tasks = await vipBigPointService.GetCombineAsync(ck); }
catch (BiliBusinessException ex)
{
logger.LogWarning("获取大会员任务失败: {Msg}", ex.Message);
} Defensive patterns
Strategy: try-catch
Validate before calling
if (string.IsNullOrWhiteSpace(ck.BiliJct) || string.IsNullOrWhiteSpace(ck.Buvid))
throw new InvalidOperationException("Cookie缺少 bili_jct 或 buvid,无法获取大会员任务"); Try / catch
try { data = await svc.GetCombineAsync(ck); }
catch (BiliBusinessException ex)
{
logger.LogWarning("获取任务列表失败: {Msg}", ex.Message);
} Prevention
- Keep cookies fresh; include buvid in the cookie string
- Confirm the account holds active VIP status
- Log the upstream JSON to read the actual error code
- Reduce request frequency to avoid -412 risk control
When it happens
Trigger: Calling GetCombineAsync with an expired csrf (BiliJct) or buvid, a non-VIP account, or when Bilibili's VIP task center returns an error code such as not-logged-in (-101) or risk control (-412).
Common situations: Stale cookie after long uptime; account lost VIP status so the VIP task center endpoint rejects the request; Bilibili changed the endpoint or tightened anti-bot checks; buvid missing from the cookie string.
Related errors
AI-assisted analysis of RayWangQvQ/BiliBiliToolPro@c599b2c0da (2026-09-12).
Data as JSON: /api/errors/7be281a775066501.
Report an issue: GitHub.
Appendix: source
Thrown at src/Ray.BiliBiliTool.DomainService/VipBigPointDomainService.cs:36
public class VipBigPointDomainService(
ILogger<VipBigPointDomainService> logger,
IOptionsMonitor<VipBigPointOptions> vipBigPointOptions,
IShowApi showApi,
IApiApi apiApi,
IAccountDomainService accountDomainService,
IVideoDomainService videoDomainService
) : IVipBigPointDomainService
{
private readonly VipBigPointOptions _vipBigPointOptions = vipBigPointOptions.CurrentValue;
public async Task<VipBigPointCombine> GetCombineAsync(BiliCookie ck)
{
var allTasks = await apiApi.GetCombineAsync(
new GetCombineRequest { csrf = ck.BiliJct, buvid = ck.Buvid },
ck.ToString()
);
if (allTasks.Code != 0)
throw new BiliBusinessException(allTasks.ToJsonStr());
return allTasks.Data;
}
/// <summary>
/// 领取大会员专属等级加速包
/// </summary>
public async Task VipExpressAsync(BiliCookie ck)
{
var re = await apiApi.GetVouchersInfoAsync(ck.ToString());
if (re.Code == 0)
{
var state = re.Data.List.Find(x => x.Type == 9)?.State;
switch (state)
{
case 2:
logger.LogInformation("大会员经验观看任务未完成");
logger.LogInformation("开始观看视频");View on GitHub (pinned to c599b2c0da)