配置了vscode环境,通过模版创建hamibot项目,生成的index.js拿到hamibot里运行总是提示缺少必要的配置。在VScode里已经配置过脚本ID机器人ID和用户的Token了

已存档

把build好的index.js那到hamibot里运行总是提示缺少必要的配置,尝试通过模版新建一个hamibot项目也是一样。只不过中文换成了英文Verifying configurations,请教下我除了脚本ID机器人ID和用户的Token还需要配置什么?在那里配置呢?

4659489 · 1 年前
第 1 条补充
·
1 年前

日志如下:
09:04:27.043/E: Error: The 'show console' field in the configuration is invalid, undefined. please check it again ! (640d842e22c6d0305d7fa0ee.js#742)
Error: The 'show console' field in the configuration is invalid, undefined. please check it again !
at 640d842e22c6d0305d7fa0ee.js:742:0
at 640d842e22c6d0305d7fa0ee.js:4:0

回答

BATU1579
415
· 1 年前

这个是因为模板中用到了一个脚本配置项,你需要在运行之前去 开发 页面找到对应的脚本点击配置,然后填入测试用到的配置或者默认值。之后再调试代码应该就没有问题了。

hamibot 的脚本分为两部分,一部分是实际的代码( index.js ),另一部分是描述脚本运行时配置项的配置文件( config.json )。配置项可以理解为类似命令行参数,在运行时可以使用不同的值,获取方式也比较简单:

const {
    SOME_CONFIG,
    OTHER_CONFIG
} = hamibot.env

因为一般来说不应该相信用户的任何输入,所以我在模板中写了配置项的校验,相关的校验代码在 src/lib/global.ts 的第 84 行可以找到。同时如果有其他的脚本配置项我建议你也在这里先进行校验。

希望能帮到你~


回楼下大大:

强行设置默认值可能确实是一个快速开始的好办法,但是 hamibot 可以设置默认配置(在线编辑那个 config.json 时直接填入表单即可),有时候可能更需要默认不开启控制台(比如用到模拟操作的时候会被挡住)。原本我想靠这个来提醒一下开发者默认值还没设置QAQ。

2
0
yjxzqh · 1 年前

我也遇到同样的问题,在github上提过一个issue,这是因为配置项中显示控制台的表单项默认值其实是undefined,但是显示的是'是',所以我需要先将配置项改为‘否’,再改为‘是’才能生效。
或者可以把模板中的这部分代码改成这样。

const {
    _TOKEN,
    _SHOW_CONSOLE,
} = hamibot.env;
const {
    _TOKEN,
    _SHOW_CONSOLE = 'true',
} = hamibot.env;
1
0