blockly 触发死循环,如何修复/撤销教程贴~

当你写了一个死循环的时候

比如

export const name = "魔女"
export async function apply(ctx){
  const logger = ctx.logger("魔女")  
    while (true) {
      logger.info('Hello,world');
    }  
}
截图示例

如果你不小心写了一个死循环,并且还启用了这个插件,那么

在这个代码里的 while (true) {将会导致整个koishi启动被卡死。并且重启koishi也无济于事。


如何补救

找到 koishi 的数据文件夹

找到其中的数据库文件 index.db 文件

image

编辑数据库

由于koishi无法正常启动以使用webUI编辑数据库。
所以此步骤需要使用数据库软件来编辑,例如 DB Browser for SQLite

找到数据库内 blockly 表的 code 字段

把这一个字段的内容清空,并且保存文件。

然后重启 koishi,就能打开 koishi 啦~~


之后就可以对写错的代码进行修改了。