Closed DeepseaXX closed 6 days ago
唔...看上去这个插件在报错koishi-plugin-adapter-onebot,好像是onebot插件...其他的指令会发生这样的事情木?
印象里其他插件没有遇到过。
简单测试了一下,word-core内
能成功正常返回的指令大概只有word id
,
而 word get xxx
虽然能返回,但是ai tag本身显示为<at name="Ana Amari" /> 此关键词含有以下回答:(下略)
没有转义成功,
其他的add、addauthor、alldb、readedit、resetsave、unkip均发送失败,
retcode1200,下面相同
唔有点奇怪...唔在沙盒下的群聊模式能够正常使用吗?(koishi内的沙盒)
napcatqq(qq的无头端?) 也有错误提示 (虚拟机上复制不出来我就ocr了)
2024-09-20 21:25:16 [ERROR] xQc(201579037)|发生错误 TypeError: Cannot read properties of undefined (reading 'toString'
at NTQQGroupApi.getGroupMember (file:///C:/Users/XxDee/NapCat/napcat.mjs:6067:46)
at Object.at (file:///C:/Users/XxDee/NapCat/napcat.mjs:20138:56)
at OneBotMsgApi.createSendElements (file:///C:/Users/XxDee/NapCat/napcat.mjs:20482:64)
at SendGroupMsg._handle (file:///C:/Users/XxDee/NapCat/napcat.mjs:27888:42)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async 0B11ActiveWebSocketAdapter.handleMessage (file:///C:/Users/XxDee/NapCat/napcat.mjs:12404:21)
at async SendGroupMsg.websocketHandle (file:///C:/Users/XxDee/NapCat/napcat.mjs:27759:23)
沙盒是正常的
我也在思考中…………
那应该是适配器的问题...
唔wait)我查一下我的适配器能不能用
我可能知道为什么了 看了一下我使用的其他也会主动at用户的,能正常工作的插件,都是通过at uid实现的 也就是说我用的对接onebot的adapter,貌似是不支持通过user name来at用户的方式, 只有word.id能正常发出来也是因为里面不包含at tag , (但是这样就显得word get xxx很奇怪了?一会再看看)
a.............思考确实
然后我想删除试试, 删多了, 正在重装...
soga!唔
我的koishi内存溢出了....怪)))我先修修我的koishi)x
然后把at name 改成at uid的方式貌似就会正常工作?
但我刚才又通过改const uid的方式,把add时的uid全改成了我的id
反正删除之后也不是不能用……先用着
嗯嗯嗯!
我的适配器因为好久煤更新已经炸了!(悲)
顺便作者对于使用userid at或者使用username at有什么观点吗? 比如可能存在某种适配器只能使用name at,而比如onebot适配器只有userid这样的?
说实话...我感觉这个好多时候应该适配器端去解决这样的问题的说...总不能够在插件端对每个平台做区分的吧...这样的话每次多一个平台需要额外修改一次,总感觉很麻烦...又或者是在插件侧增加一个开关,可以设置是使用at id还是at name,不过这样也没有本质上解决问题,如果存在多个适配器的话,一个只能使用at id,一个只能使用at name的话,依然会出现问题..... 我自己写的适配器的话是对这部分进行过处理...好像会将at id自动转换为at name,但是部分平台的适配器很难做到这一点,因为很难获取到id和name的对应关系...总之感觉这部分我也暂时没有想法
或者说,也许我可以做两个选项,要手动填写平台的值,比如 然后后面需要使用者手动添加平台名称
不过也还是没有在本质上完成适配的说...
词库有个(@:name:对方昵称)
和(@:id:对方userid)
的语法,可以转换成koishi的at,但是假如说a平台只能at name,b平台只能at id,那回复中包含这个语法的词库必定是不适配的...这个问题也超大,而且如果要解决这个问题的话也会非常刺激的样子
不过也还是没有在本质上完成适配的说... 词库有个
(@:name:对方昵称)
和(@:id:对方userid)
的语法,可以转换成koishi的at,但是假如说a平台只能at name,b平台只能at id,那回复中包含这个语法的词库必定是不适配的...这个问题也超大,而且如果要解决这个问题的话也会非常刺激的样子
归根结底还是onebot适配器的问题,onebot适配器应该负责koishi平台的提供的所有标准接口,哪怕是无法处理也应该在适配器层面把问题消化掉……嗯…… 不哦确实做成开关让用户选择哪种艾特方式/不艾特,作为一个feature我认为也是完全合理的(
(一直没有发现回复)
思考考,话说要不要...试试其他适配器(?)
不过也还是没有在本质上完成适配的说... 词库有个
(@:name:对方昵称)
和(@:id:对方userid)
的语法,可以转换成koishi的at,但是假如说a平台只能at name,b平台只能at id,那回复中包含这个语法的词库必定是不适配的...这个问题也超大,而且如果要解决这个问题的话也会非常刺激的样子归根结底还是onebot适配器的问题,onebot适配器应该负责koishi平台的提供的所有标准接口,哪怕是无法处理也应该在适配器层面把问题消化掉……嗯…… 不哦确实做成开关让用户选择哪种艾特方式/不艾特,作为一个feature我认为也是完全合理的(
(一直没有发现回复)
初衷就是想玩qq波特,但是官方的那个群聊bot的限制太大,加上群聊bot还是只限制企业账号使用,所以也没有换适配器的想法……
反正至今我还是在每次更新之后手动删除所有at tag,(并且把word add的userid改成我的qq号实现的) 只能说这种大家都可以随便加,(但是不可以随便删)的玩法非常的刺激,词库已经变成了脑洞大合集了……
初衷就是想玩qq波特,但是官方的那个群聊bot的限制太大,加上群聊bot还是只限制企业账号使用,所以也没有换适配器的想法……
嘛~其实还有很多第三方的啦(小提示:去康康koishi非官方群的公告))
居然还有非官方群……
看了一下唯一不是onebot的那个用的是ll插件,而我ll之前用的时候挂机不到一天左右就会内存爆炸直接闪退,最后才用的无头napcat……
唔...satori内个可以木? (我现在使用感觉好像还好
私聊中所有消息都可以正常触发,
群聊中触发关键词后的回复是正常的,但诸如word.add之类的,返回文本是发不出来的
日志如下