Skip to content

v1.4.0

Choose a tag to compare

@dikxingmengya dikxingmengya released this 21 Sep 10:12
· 80 commits to main since this release

📢 MisMiss v1.4.0 — 更新先打招呼 · 日志只留重点

更新前先告诉直播间 · 日志默认不再刷屏 · 机器人不再被自己触发


v1.4.0 是一次以可运维性为主的版本:

  • 更新提示消息——程序更新时可以用机器人在各直播间先发一条自定义消息,
    更新完成后再发一条,让观众知道机器人只是去升级了
  • 日志大幅降噪——默认级别改为 INFO,插件扫描、状态同步这类天天刷屏的日志降到
    DEBUG;需要排查时在「设置」里一键切回,细节一条不少
  • 机器人不再被自己的弹幕触发——修掉了「回复内容含关键词 → 再次触发 → 再回复」的死循环
  • 插件自定义界面新增多值字段,可增删条目、编辑已有条目时自动预填

✨ 新增功能

更新提示消息

面板「更新 MisMiss」页新增「更新提示消息」卡片:

配置项 默认文案 发送时机
更新前提示 机器人即将更新,稍后自动恢复 更新包下载完成、覆盖程序文件之前
更新后提示 机器人已更新完成,已恢复正常 新版本启动完成之后
  • 只发给已启用且正在开播的直播间;未绑定 / 未启用 / 未开播 / 已过期的账户自动跳过
  • 单个账户发送失败不影响其余账户,也不阻断更新本身
  • 单条上限 80 字符(直播弹幕有长度限制),超出截断;留空则跳过对应阶段
  • 「更新前」消息发送后会等消息队列真正排空——否则覆盖程序文件触发的进程重启
    会把它连同未发出的消息一起掐掉
  • 「更新后」消息由新版本启动后补发,只发一次;更新包解压失败会撤销待发标记,
    普通重启不会误发

插件自定义界面:多值字段

_ui_schema.json 的动作字段新增 input_type: "list":

  • 每个条目一个文本框,配「+ 添加」与逐条删除按钮,提交前自动过滤空项
  • 新增 item_label / item_placeholder 定制添加按钮文案与输入框占位符
  • 新增 body_template,支持 {{row.字段}} 占位符,编辑已有条目时自动带入原值
  • 弹窗在含多值字段时自动加宽、限高并滚动,条目多也不会溢出屏幕

🐛 Bug 修复

  • 机器人会被自己的弹幕触发——平台会把本连接发出的弹幕回推,插件回复内容如果
    包含触发关键词(如「喵」→「喵喵喵~」)就会形成「回复 → 再次触发 → 再回复」的
    死循环。现在本房弹幕与跨房弹幕都会先过滤掉机器人自己发的消息
  • 跨房幸运礼物不计入榜单——跨房礼物包此前把幸运值写死为 None,
    导致礼物感谢插件的幸运值榜单看不到任何跨房贡献,现按与「本房礼物」相同的方式解析
  • 插件库卡片被拉高——卡片底部罗列使用账户徽标时会自动换行,行数随账户数增长,
    而同排卡片在 CSS grid 下会被拉齐到最高的那个。徽标改为固定单行(前 3 个 + 「+N」),
    页脚高度恒定;「+N」可点开完整账户列表
  • 插件刷新逐账户刷屏——刷新插件库会扇出到每个账户的 PluginManager,
    此前每个账户都打一条「插件刷新完成」;现合并为结束时的一条汇总

🔧 改进优化

日志

  • 默认级别改为 INFO——由 config.yml 的 logging.level 统一驱动
    (core.logging.init()、面板实时日志流、设置页调试开关读写同一项,
    切换即时生效、无需重启)。想看细节就在设置里打开调试
  • 日志按账户标记与筛选——格式变为「时间 | 级别 | [账户名] 类名:函数 | 消息」,
    面板日志页可按账户筛选(也可只看面板级日志)
  • 插件加载 / 启停日志带版本号——统一显示为「名称 v版本 by 作者」
  • 高频噪声日志降级为 DEBUG(默认不再显示,切到 DEBUG 仍可查):
    插件目录扫描与逐插件发现、插件已加载,跳过、Bot 未启用,插件标记已恢复、
    服务器启动中 / 关闭中、Livestream 已恢复、插件刷新完成、
    插件首次加载分配默认权限、多 worker 的 state 同步细节等
  • 批量操作只打汇总:插件库刷新从「每账户一条」改为一条总计;
    扫描到新插件时才补一条 INFO

实测:一次完整启动 + 插件库刷新(3 个账户、15 个插件),
面板默认可见日志由 106 条降到 13 条。

⚠️ 升级注意

  • 日志默认级别由 DEBUG 改为 INFO——「设置」页的调试开关默认关闭。
    排查插件加载、多 worker 状态同步等问题时请先打开它,
    或直接改 config.yml 的 logging.level 为 DEBUG
  • 更新提示消息默认关闭——需要在「更新 MisMiss」页打开开关并确认文案后才会发送;
    仅对已启用且正在开播的直播间生效
  • 插件多值字段需要插件侧适配——input_type: "list" 与 body_template
    是对 _ui_schema.json 的扩展,未使用的插件渲染与之前完全一致

MisMiss v1.4.0 — 更新之前,先跟直播间说一声 🎧