






















今天在 GitHub Trending 上看到一个有意思的项目:biliTickerBuy,这是一款开源免费的 B 站会员购辅助工具,旨在帮助用户更便捷地完成 B 站会员购的票务购买流程。
biliTickerBuy 是一个基于 Python 开发的 B 站会员购辅助工具,提供简单易用的操作界面,支持通过二维码或 Cookie 登录 B 站账号,自动完成票务信息的获取、配置和购买流程。
核心特性:
项目数据:
项目采用模块化设计,核心模块包括:
biliTickerBuy/
├── main.py # 入口文件,CLI 参数解析
├── app_cmd/ # 命令行模块
│ ├── buy.py # 购买命令
│ └── ticker.py # Ticker UI 命令
├── app_update.py # 更新检查
├── app_version.py # 版本管理
└── [核心逻辑模块]
设计亮点:
tyro 库实现类型安全的 CLI 参数解析,支持 buy(纯命令行)和 ui(Gradio 界面)两种模式| 技术 | 版本 | 用途 |
|---|---|---|
| Python | ≥3.11 | 主开发语言 |
| Gradio | ≥6.19.0 | Web UI 框架 |
| httpx | ≥0.28.1 | 异步 HTTP 客户端(支持 HTTP/2、SOCKS 代理) |
| requests | ~2.31.0 | 同步 HTTP 请求 |
| pydantic | ~2.8.2 | 数据验证和设置管理 |
| Tyro | ≥0.9.28 | 类型安全的 CLI 框架 |
| Textual | ≥8.2.7 | 终端 UI(TUI) |
| Rich | ≥15.0.0 | 终端美化输出 |
| TinyDB | ~4.8.0 | 轻量级本地数据库 |
登录流程:
# 来自 __init__.py 的接口暴露
from .interface import (
start_qr_login, # 启动二维码登录
poll_qr_login, # 轮询登录状态
login_with_cookies, # Cookie 登录
get_login_state, # 获取登录状态
)
购票流程:
# 核心购票接口
from .interface import (
search_tickets, # 搜索票务项目
fetch_project_detail, # 获取项目详情
fetch_ticket_options, # 获取票务选项
build_ticket_config_from_selection, # 构建购票配置
start_buy, # 启动购买任务
task_status, # 查询任务状态
)
更新检查机制:
# app_update.py 中的版本检查逻辑
def fetch_update(current_version: str, channel: str) -> ReleaseInfo | None:
# 调用 GitHub Releases API
# 支持稳定版和测试版两个频道
# 使用 packaging.version 进行版本号比对
使用 packaging.version.Version 进行语义化版本比对,确保只有更高版本才会触发更新提示。
用户操作 → Gradio/CLI 界面
↓
接口层 (interface.py)
↓
B 站 API 调用 (httpx/requests)
↓
数据解析与配置生成
↓
执行购票任务
↓
状态反馈与记录 (TinyDB)
方式一:PyPI 安装(推荐)
pip install bilitickerbuy
方式二:从源码安装
git clone https://github.com/mikumifa/biliTickerBuy.git
cd biliTickerBuy
pip install -e .
方式三:Docker 部署
docker pull mikumifa/bilitickerbuy:latest
docker run -d -p 7860:7860 mikumifa/bilitickerbuy:latest
Docker 镜像已配置好中文字体(文泉驿微米黑、文泉驿正黑),避免中文显示问题。
启动 Web 界面:
命令行购买:
btb buy --config-file config.json
查看帮助:
btb --help
btb ui --help
btb buy --help
btb uihttp://localhost:7860配置文件示例(config.json):
{
"project_id": "123456",
"ticket_id": "789",
"buyer_info": {
"name": "购买人姓名",
"tel": "手机号"
},
"address": {
"province": "省份",
"city": "城市",
"district": "区",
"detail": "详细地址"
},
"count": 1,
"auto_submit": true
}
执行命令:
项目还提供了分布式版本 biliTickerStorm,适合需要多账号、高并发的场景。
对于 AI 助手集成,可以使用 biliTickerSkill。
问题: pip install 时依赖冲突
解决:
# 使用虚拟环境隔离
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install bilitickerbuy
问题: Docker 环境中中文显示为方块
解决: Dockerfile 已安装中文字体,如使用自定义镜像请确保安装了 fonts-wqy-microhei 和 fonts-wqy-zenhei
问题: 二维码登录超时 解决:
问题: 任务启动后无响应或报错 解决:
问题: 启动时提示更新检查失败 解决:
export HTTPS_PROXY=http://proxy:portbiliTickerBuy 是一款设计优雅、功能完善的 B 站会员购辅助工具,其技术亮点包括:
适用场景:
项目链接:
免责声明:本项目仅供个人学习与研究使用,请勿用于任何商业牟利行为或违反平台规则用途。使用时请遵守相关法律法规与目标平台规则。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。