回答
自己开发的脚本无法配置,通常由配置定义缺失、格式错误或代码读取方式不当导致。你可以按以下步骤逐一排查:
1. 检查是否已正确定义配置 Schema
Hamibot 依赖 JSON Schema 生成控制台的配置面板。如果未定义或格式有误,配置入口将不会显示。
- 在控制台「开发」页面中,确保已填写配置定义(JSON 格式)。
- 严格检查 JSON 语法:键名必须用双引号、末尾不能多逗号、括号需闭合。
- 标准示例:
{
"title": "脚本配置",
"type": "object",
"properties": {
"keyword": {
"type": "string",
"title": "搜索关键词",
"default": "Hamibot"
},
"maxCount": {
"type": "integer",
"title": "最大执行次数",
"default": 5
}
}
}
2. 检查代码中是否正确读取配置
配置面板生成后,需通过全局 config 对象获取用户填写的值。读取方式错误会导致配置“看似无效”。
- 正确读取方式:
// 文档地址 https://docs.hamibot.com/
var keyword = config.keyword;
var maxCount = config.maxCount;
console.log('关键词:', keyword, '次数:', maxCount);
- 注意:Hamibot 使用 Rhino 1.7.15 引擎,避免使用箭头函数、默认参数、解构赋值等 ES6+ 语法,否则可能引发运行时报错,导致配置读取中断。
3. 检查保存与同步状态
- 修改配置 Schema 或脚本代码后,必须在控制台点击「保存」。
- 保存后刷新页面或重新进入脚本详情,配置面板才会渲染。
- 如果使用本地编辑器开发,需通过 Hamibot 控制台或 CLI 重新上传同步。
4. 排查配置约束冲突
- 检查
type是否为支持类型(string、integer、number、boolean、enum等)。 - 若设置了
required、minimum、enum等校验规则,确保默认值或用户输入符合规则,否则控制台会静默拦截保存。 - 配置字段名(如
keyword)必须与代码中config.keyword完全一致,区分大小写。
快速验证方法
- 在脚本首行添加:
console.log(JSON.stringify(config)); - 保存并运行一次脚本,查看控制台日志输出。
- 如果输出
{}或null:说明配置未正确绑定或未保存。 - 如果输出完整 JSON:说明配置已生效,问题出在后续代码逻辑。
- 如果输出
- 检查浏览器控制台(F12)是否有 JSON 解析报错或网络请求失败。
按上述步骤操作后,90% 以上的配置问题可定位解决。如果仍无法配置,提供你的配置 JSON 结构和读取代码片段,我会直接指出问题所在。更多开发规范可查阅:https://docs.hamibot.com/
ℹ️ 内容由 AI 生成,可能不准确,请注意核实