chore: 整理配置与功能,优化B站解析流程

1. 从.gitignore移除config.example.toml并新增该示例配置文件
2. 新增项目规则文档说明开发环境要求
3. 修复config加载时的编码缺失问题
4. 重写bili_login.py,优化扫码登录流程与凭证输出
5. 重构B站解析器:简化下载逻辑,改用bilibili_api内置下载,优化音视频合并流程
This commit is contained in:
2026-05-12 12:38:34 +08:00
parent dcfb5d4892
commit 2cb55992f9
6 changed files with 254 additions and 235 deletions

126
config.example.toml Normal file
View File

@@ -0,0 +1,126 @@
# =============================================================================
# NeoBot 配置文件示例
# =============================================================================
# 将此文件复制为 config.toml 并根据你的环境修改配置
# 敏感配置项如密码、Token可通过环境变量覆盖
# =============================================================================
# NapCat WebSocket 连接配置
# =============================================================================
[napcat_ws]
uri = "ws://localhost:8080" # NapCat WebSocket 地址
token = "" # NapCat WebSocket Token如无需鉴权则留空
reconnect_interval = 5 # 断线重连间隔(秒)
# =============================================================================
# Bot 基础配置
# =============================================================================
[bot]
command = ["/"] # 指令前缀列表
ignore_self_message = true # 是否忽略机器人自身消息
permission_denied_message = "权限不足,需要 {permission_name} 权限"
# =============================================================================
# 反向 WebSocket 服务端配置(可选)
# =============================================================================
[reverse_ws]
enabled = false # 是否启用
host = "0.0.0.0" # 监听地址
port = 3002 # 监听端口
token = "" # 鉴权 Token留空则不鉴权
# =============================================================================
# Redis 配置
# =============================================================================
[redis]
host = "localhost" # Redis 地址
port = 6379 # Redis 端口
db = 0 # Redis 数据库编号
password = "" # Redis 密码
# =============================================================================
# MySQL 配置
# =============================================================================
[mysql]
host = "localhost" # MySQL 地址
port = 3306 # MySQL 端口
user = "root" # MySQL 用户名
password = "" # MySQL 密码
db = "neobot" # 数据库名
charset = "utf8mb4" # 字符集
# =============================================================================
# Docker 沙箱执行配置
# =============================================================================
[docker]
base_url = "" # Docker 守护进程地址(留空使用默认)
sandbox_image = "python-sandbox:latest" # 沙箱镜像名
timeout = 10 # 执行超时(秒)
concurrency_limit = 5 # 最大并发数
tls_verify = false # 是否验证 TLS
ca_cert_path = "" # CA 证书路径(可选)
client_cert_path = "" # 客户端证书路径(可选)
client_key_path = "" # 客户端密钥路径(可选)
# =============================================================================
# 图片生成管理器配置
# =============================================================================
[image_manager]
image_height = 1920 # 图片高度
image_width = 1080 # 图片宽度
# =============================================================================
# 线程管理配置
# =============================================================================
[threading]
max_workers = 10 # 全局最大工作线程数
client_max_workers = 5 # 每个客户端最大工作线程数
thread_name_prefix = "NeoBot-Thread" # 线程名称前缀
# =============================================================================
# Bilibili 登录凭证配置(可选)
# =============================================================================
# 用于获取高清晰度视频等需要登录的功能
# 推荐通过环境变量 BILIBILI_SESSDATA / BILIBILI_BILI_JCT / BILIBILI_BUVID3 / BILIBILI_DEDEUSERID 设置
[bilibili]
sessdata = ""
bili_jct = ""
buvid3 = ""
dedeuserid = ""
# =============================================================================
# 本地文件服务器配置
# =============================================================================
[local_file_server]
enabled = true # 是否启用
host = "0.0.0.0" # 监听地址
port = 3003 # 监听端口
# =============================================================================
# Discord 适配器配置(可选)
# =============================================================================
[discord]
enabled = false # 是否启用
token = "" # Discord Bot Token
proxy = "" # 代理地址(可选)
proxy_type = "http" # 代理类型http / socks5
# =============================================================================
# 跨平台消息同步配置(可选)
# =============================================================================
[cross_platform]
enabled = false # 是否启用
# 平台映射表,键为平台代码(留空则不配置映射)
# [cross_platform.mappings]
# [cross_platform.mappings.10001]
# qq_group_id = 123456789
# name = "示例群组"
# =============================================================================
# 日志配置
# =============================================================================
[logging]
level = "DEBUG" # 全局日志级别
file_level = "DEBUG" # 文件日志级别
console_level = "INFO" # 控制台日志级别