snowy-yang
|
508604610f
|
qqbotsdk 依赖改走 GitHub archive 源
GitHub(snowy-yang/qqbotsdk)已是 SDK 主仓库,Gitea 反为其镜像。
[tool.uv.sources] 从 Gitea git 源切到 GitHub archive tarball 的 url 源:
安装不再需要 git,uv 按 sdist 构建、lock 记录内容 hash;升级依赖用
uv lock --upgrade-package qqbotsdk 重取 main 最新。README 的 SDK 链接
同步指向 GitHub。
|
2026-09-24 21:55:41 +08:00 |
|
snowy-yang
|
94ee3298b7
|
新增斜杠指令面板:/v2/panels 自动注册,帮助消息带指令按钮
- panel.py 调开放平台 2026-08 新增的 /v2/panels 接口,把 点歌/歌词/帮助
三条指令同步到输入框 / 菜单:READY 时幂等同步(没有则创建、内容有变
则更新、一致则跳过,重连自愈),target_type=all 对全部群生效;失败
只记日志不影响运行;COMMAND_PANEL=off 可关闭
- 斜杠指令与 @机器人 消息归一解析:_normalize 剥开头 / 与 @ 前缀,
与裸文本命令共用 handle_command(/点歌 稻香、@bot 点歌 稻香、
点歌 稻香 三种写法等价)
- 只敲命令不带参数(斜杠指令参数可为空)时回复用法提示
- 帮助消息带 [🎤 点歌][📝 歌词] 指令按钮(action type=2,点击把
/点歌 填进输入框),键盘无权限自动回退纯文本;帮助文案改以 / 指令呈现
|
2026-09-24 21:55:32 +08:00 |
|
snowy-yang
|
d71809d144
|
热重载监督者优雅响应 Ctrl+C:先等子进程收尾再回收
- run_supervisor 捕获 KeyboardInterrupt:不打 traceback、退出码归零,
给子进程 _GRACE_SECONDS=5s 自行收尾窗口(打退出日志、关连接),
超时才 taskkill /F /T;文件变更重启仍立即强杀(子进程不知情不会自己退)
- main() 兜底监督循环间隙的 Ctrl+C
- start.bat 改为发射器:start 新开独立控制台跑 cmd /c 命令行(非批
处理),Ctrl+C 直接停进程,规避「终止批处理操作吗(Y/N)」,发射器
即退;bat 保持纯 ASCII 防 GBK 乱码
|
2026-09-24 21:55:17 +08:00 |
|
snowy-yang
|
6b6492dc8d
|
升级到新版 SDK 并补充点歌业务日志
- 锁定 qqbotsdk b37a53f(含:健康断开零等待重连、静默常规连接日志、
失败才记断开与退避)
- 新增业务日志:启动打印生效配置、点歌/查歌词/帮助、菜单已发、
选歌、按钮点击、语音/文件/直链已发,失败项统一带群号前缀
(此前 18 处日志 17 处是 warning,成功路径完全静默,故日志里
看不到任何点歌消息)
|
2026-09-21 18:26:23 +08:00 |
|
snowy-yang
|
a11c0b375f
|
新增热重载:文件变更自动重启(开发用,默认关)
- musicbot/reload.py:轮询监控 musicbot/ 下的 .py 与 intents.toml/.env,
变更后重启 bot 子进程;跳过 logs/、__pycache__/、.venv/
- 进程级重启而非模块重载:长连接 + 模块级状态 + handler 闭包,
就地重载易留幽灵 handler,重启子进程状态干净
- 子进程用 _MUSICBOT_RELOAD_CHILD 标记,不会套娃自我复制
- Windows 用 taskkill /T 收整棵进程树,实测连续重载无进程泄漏
- 开启方式:`uv run musicbot --reload`(start.bat 已带)或 RELOAD=on
- 监督者不配日志,避免与子进程抢写同一日志文件
|
2026-09-20 22:44:20 +08:00 |
|
snowy-yang
|
9bcdad7aa1
|
新增日志支持、卡片显示专辑封面、菜单去掉音源标注
- 日志:控制台 + logs/musicbot.log(按天轮转、保留 7 天),
LOG_LEVEL/LOG_DIR 可配;目录不可写时退化为仅控制台;
diagnose=False 避免把凭证写进日志
- 卡片用 Markdown 图片语法显示专辑封面(),
封面取自 MusicServer 的 img 字段(tx/wy 有、kw/kg 无)
- 按钮 data 加第 5 段(封面 URL),解码兼容旧 4 段,已发出的按钮不失效
- 菜单去掉每首歌后的(音源)标注;卡片保留"来源:"
- 测试补:封面渲染、无封面源、旧 data 兼容、LOG_LEVEL、日志落盘
|
2026-09-20 22:36:40 +08:00 |
|
snowy-yang
|
7a8adb4571
|
QQ 群点歌 bot:选歌菜单 + 歌曲卡片 + 回调按钮
基于 qqbotsdk 的群点歌机器人:
- 点歌 <歌名>:Markdown 选歌菜单,每行 5 个编号回调按钮 + 上下页
(每页 MENU_PAGE_SIZE 首,默认 10,受内嵌键盘 5 行限制上限 20)
- 点编号弹歌曲卡片:[▶播放] 发语音 / [⬇下载] 发文件或直链(SEND_MODE)
- 支持不 @ 机器人也能触发(GROUP_MESSAGE_CREATE 全量模式),
按 msg_id 排重并拦截机器人自发消息回推(self-echo)
- 直链候选源回退:tx 等源受 CDN 风控时按 kw/wy/mg 逐个换源
- 自动撤回(WITHDRAW)翻页撤旧菜单、选歌撤菜单、点击后撤卡片
|
2026-09-20 22:27:09 +08:00 |
|