1.0.1版本的imitate插件导致数据库报语法错误

可能是插件的问题,你可以保留官方插件,然后逐一停用你认为可疑的插件,并测试是否可以重现此报错。反复使用这种方法可以定位出错的插件。

1 个赞

昨天只多启用了imitate这个插件,但是停用了之后也不行。
此报错只要是涉及到读取channel这个表就会出现该问题,下图是所有的表。
image

虽然在启用imitate之后会多出来三个表,但是内容全为空,我将那几个表都删了。

其他的表不会出错,比如steam_status这个表,正常工作。

我暂时怀疑是可能在聊天平台上有人发了怪话,导致imitate不正常工作,进而影响了其他一些插件 :sweat_smile:。甚至这个影响是永久性的。

之前遇到过nonebot里边的b站网址解析插件出问题,出问题的原因是有人复读了下那个插件发送的文字部分,然后这个插件就爆炸了。

我python和TS都不怎么会,只能想到这些。目前将模板项目换成初始状态,数据库则保持原样,暂时没出问题。

1 个赞

抱歉,可能是imitate读了channel表引起的报错(我也是白,不知道是不是),晚上我会更新改掉这部分的

2 个赞

主要是imitate我启用了一天了,新增的三个表还是一片空白 :rofl:

而且这个报错不是只在imitate插件上出现,第一次出现这个报错后,随便给机器人发点什么都出这个错。

1 个赞

已更新,三个表一直空的原因会不会是因为没用sqlite?更换sqlite后发一张表情,再刷新控制台看看数据库的messageRecord表有没有更新

1 个赞


可以确定的是 1.0.1版本确实有问题

现在的问题是官网和服务器端插件市场更新不同步

我看到npm上你已经更新到1.0.2,但是客户端这边没有。 :rofl:

1 个赞

等待市场更新,如果你在用开发版koishi的话等不及可以用命令行更新

1 个赞

我自己用了两天是没问题的,不知道为什么会有这个报错

1 个赞

我想到一种可能性,可能是你没安装switch插件的原因

2 个赞

switch启用了,我看到你1.0.3版本加入了这个需求。
基本正常了,但是!启用imitate的时候,bvid这个插件就会失效。 :smiling_face_with_tear:

神秘

1 个赞

offer-a-proposal也读了channel表,等下改,除了bvid其他插件会报错吗

1 个赞

???
offer-a-proposal我用了好几天了,但是刚刚在没有switch插件的情况下,也出来最开始的语法错误了,之前没有的。我还挺喜欢这个offer-a-proposal的。
@(ARMQ}R)4{~GC%K69KZAUD

我怀疑是不是WIN11在作妖,最近更新了,现在是

1 个赞

请问这两个插件最近还会报错吗

1 个赞

这两个最近虽然在我这里是不能使用的,并且仍然会使bvid插件失效,但是停用后不再会影响到其他的插件。已经更新全部依赖到最新。 :smiling_face_with_tear:

1 个赞

我又更新了一下,应该不会报错了,等市场更新试试看吗

1 个赞

很酷,数据库使用sqlite不会报错,并且messageRecords这个表也有消息记录。imitate我暂时看不出所有功能是否正常,但至少发送“查看黑历史”会回复“这个群没有黑历史”。offer-a-proposal是没问题的。

但是很不酷的是,数据库使用mysql的话还是会出问题 :smiling_face_with_tear: 并且仍然会影响到bvid。用sqlite不会影响。

看起来是插入一条新数据的时候没有带上消息记录的id 如1 2 3这种
messageRecords一条完整的数据是有这五个的字段 但是只插入了四个
image

这俩数据库有什么区别会导致这种情况??????

offer-a-proposal倒是没问题的。

1 个赞

id应该是自动生成的,大概因为koishi没对mysql做优化叭,你为什么不用sqlite

1 个赞

刚更新加上了主键自增,再试试看mysql叭

1 个赞

npm上没更新哦亲

1 个赞

现在更了,刚才改完忘发布

1 个赞