How raywangqvq/bilibilitoolpro works
BiliTool automates scheduled Bilibili account tasks, with a web interface for configuration, login, schedules and history, plus a hosted-console entry point. The main path is schedule or manual task execution → application workflow → domain operations → Bilibili APIs; configuration and account cookies shape those operations, while execution logs and notifications report outcomes. The README lists additional task families and deployment-panel integrations. Some task implementations and UI wiring are unsampled, so those branches are represented at directory level and uncertain call relationships are omitted.
Main entry points: Program.cs Web Host · SchedulerService.cs Scheduler Service · Ray.BiliBiliTool.Application Task Services · Interfaces Bilibili API Clients
Components 20
User Entry
- Web Host
src/Ray.BiliBiliTool.Web/Program.cs - Console Host
src/Ray.BiliBiliTool.Console/Program.cs
Scheduling and UI
- Web UI
src/Ray.BiliBiliTool.Web/Components/Pages/Schedules/Schedules.razor.cs - Web Authentication
src/Ray.BiliBiliTool.Web/Controllers/AuthController.cs - Scheduler Service
src/BlazingQuartz.Core/Services/SchedulerService.cs - Scheduled Jobs
src/Ray.BiliBiliTool.Web/Jobs
Task Workflows
- Daily Workflow
src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs - Task Services
src/Ray.BiliBiliTool.Application - Domain Operations
src/Ray.BiliBiliTool.DomainService - QR Login
src/Ray.BiliBiliTool.DomainService/LoginDomainService.cs
External Services and State
- Bilibili API Clients
src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces - Bilibili
- Task Configuration
src/Ray.BiliBiliTool.Config/Options - Cookie Sources
src/Ray.BiliBiliTool.Infrastructure/Cookie/CookieStrFactory.cs - SQLite Database
src/Ray.BiliBiliTool.Infrastructure.EF/BiliDbContext.cs - Execution History
src/BlazingQuartz.Core/History/ExecutionLogStore.cs - Notification Adapter
src/Ray.BiliBiliTool.Infrastructure/Notifications/SerilogNotificationAdapter.cs - Panel APIs
src/Ray.BiliBiliTool.Agent
Other components
- Operator
- Notification Receivers
Connections 23
- Operator → Web UI: configures tasks
- Operator → Web Authentication: signs in
- Operator → Console Host: starts tool
- Web Host → Web UI: hosts UI
- Web Host → Scheduler Service: registers scheduler
- Web UI → Scheduler Service: manages schedules
- Scheduler Service → Scheduled Jobs: dispatches jobs
- Scheduled Jobs → Task Services: invokes tasks
- Console Host → Task Services: hosts task services
- Daily Workflow → Domain Operations: calls domain operations
- Daily Workflow → Task Configuration: reads options
- Daily Workflow → Cookie Sources: uses account cookie
- Task Services → Domain Operations: orchestrates operations
- Domain Operations → Bilibili API Clients: calls API clients
- QR Login → Bilibili API Clients: requests login
- Bilibili API Clients → Bilibili: sends API requests
- Operator → QR Login: requests QR login
- Web Host → Task Configuration: loads configuration
- Web Host → SQLite Database: initializes persistence
- Scheduler Service → Execution History: records executions
- Task Services → Notification Adapter: emits notifications
- Notification Adapter → Notification Receivers: pushes messages
- Bilibili API Clients → Panel APIs: calls panel APIs