refactor: 控制台输入框不再区分聊天与指令,只留一个入口

聊天和指令本来就是同一个东西:以 / 开头按游戏指令发送,否则按公屏消息发送。
服务端 /api/bots/:id/chat 一直就是这么分流的,前端多一个模式下拉框纯属多余。

- 删掉「公屏聊天 / 游戏指令」下拉框与重复的「快捷公屏消息」输入框
- 只保留:一个输入框 + 快捷发送按钮 + 移动测试按钮
- 接口返回新增 kind 字段(chat / command)说明实际走的是哪条路
- Toast 区分「消息已发送」与「指令已发送:/xxx」
- 快捷发送补上 /u restore confirm(配合定时消息常用)
- 空内容提示从「消息为空」改为「内容为空」(不再只针对聊天)

测试 325 -> 326,全部通过。
这个提交包含在:
lyizai
2026-09-28 01:00:05 +08:00
父节点 a83dea9677
当前提交 f1316bf58c
共修改 7 个文件,包含 82 行新增和 52 行删除
+5 -3
查看文件
@@ -957,12 +957,14 @@ class SingleBotPool {
sendChat(id, message) {
const entry = this.require(id);
const text = String(message || '').trim();
if (!text) return { ok: false, message: '消息为空' };
if (!text) return { ok: false, kind: 'chat', message: '内容为空' };
const isCommand = text.startsWith('/');
const kind = isCommand ? 'command' : 'chat';
if (!entry.manager.canSendChat()) {
return { ok: false, message: '未完成登录验证,已拒绝发送公屏消息' };
return { ok: false, kind, message: '未完成登录验证,已拒绝发送' };
}
const ok = entry.manager.sendChat(text);
return { ok, message: ok ? '已发送' : '发送失败' };
return { ok, kind, message: ok ? (isCommand ? '指令已发送:' + text : '消息已发送') : '发送失败' };
}
}