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
|
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 |
|