Red protocol adapter for Koishi.
idranme / koishi-plugin-adapter-red Goto Github PK
View Code? Open in Web Editor NEWRed Protocol Adapter for Koishi
License: GNU Affero General Public License v3.0
Red Protocol Adapter for Koishi
License: GNU Affero General Public License v3.0
Red protocol adapter for Koishi.
大部分论坛内能搜到的提升权限的办法都不生效,bot仍然提示没有权限
用session.send()和bot.sendMessage()都是[]
如题,观察发现当发出任何命令时(koishi 自带命令或第三方插件命令或由第三方定时主动发送的消息),koishi 会返回两条相同的响应,大约在达到插件设置->连接设置中"初次连接时的最大重试次数"设置的时间后koishi 后台会出现报错:
session Error: timeout
及 session Error: fetch http://49.*.*.*:16510/api/message/send failed
这两条报错在机器人返回消息后报出,且timeout 和fetch failed 报错各出现两次
看报错信息中还有SatoriJs,尚不清楚是否是koishi 自带的该基础插件造成的错误
已经测试在koishi后台的沙盒中不会重复响应消息
已经测试即使qqnt与koishi 处于同一主机通过127.0.0.1连接时仍有相同问题
koishi-plugin-adapter-red插件版本: 3.0.1
Chronocat.js 版本: v0.0.54
qqNT版本: 9.9.3-17816
Koishi 服务器信息:
System: OS: Windows Server 2012 6.3.9600
CPU: (2) x64 Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
Binaries:
Koishi:
QQNT所在服务器信息:
System: OS: Windows 10 10.0.20348
CPU: (4) x64 AMD EPYC 7K62 48-Core Processor
Binaries:
Koishi:
后台可以看到的报错代码:
2024-02-29 21:40:56 [W] session Error: timeout
at Object.fetch (node:internal/deps/undici/undici:11576:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async [cordis.invoke] (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:186:19)
at async Proxy.<anonymous> (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:74:26)
at async RedMessageEncoder.flush (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\koishi-plugin-adapter-red\lib\message.js:37:21)
at async RedMessageEncoder.send (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:561:5)
at async RedBot.sendMessage (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:326:22)
2024-02-29 21:40:56 [W] session Error: fetch http://49.*.*.*:16510/api/message/send failed
at C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:187:23
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async [cordis.invoke] (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:186:19)
at async Proxy.<anonymous> (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:74:26)
at async RedMessageEncoder.flush (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\koishi-plugin-adapter-red\lib\message.js:37:21)
at async RedMessageEncoder.send (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:561:5)
at async RedBot.sendMessage (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:326:22)
2024-02-29 21:40:56 [W] session Error: timeout
at Object.fetch (node:internal/deps/undici/undici:11576:11)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at runNextTicks (node:internal/process/task_queues:64:3)
at process.processTimers (node:internal/timers:509:9)
at async [cordis.invoke] (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:186:19)
at async Proxy.<anonymous> (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:74:26)
at async RedMessageEncoder.flush (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\koishi-plugin-adapter-red\lib\message.js:37:21)
at async RedMessageEncoder.send (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:561:5)
at async RedBot.sendMessage (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:326:22)
2024-02-29 21:40:56 [W] session Error: fetch http://49.*.*.*:16510/api/message/send failed
at C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:187:23
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at runNextTicks (node:internal/process/task_queues:64:3)
at process.processTimers (node:internal/timers:509:9)
at async [cordis.invoke] (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:186:19)
at async Proxy.<anonymous> (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:74:26)
at async RedMessageEncoder.flush (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\koishi-plugin-adapter-red\lib\message.js:37:21)
at async RedMessageEncoder.send (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:561:5)
at async RedBot.sendMessage (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:326:22)
2024-02-29 21:53:07 [W] session Error: timeout
at Object.fetch (node:internal/deps/undici/undici:11576:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async [cordis.invoke] (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:186:19)
at async Proxy.<anonymous> (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\node_modules\undios\lib\index.cjs:74:26)
at async RedMessageEncoder.flush (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\koishi-plugin-adapter-red\lib\message.js:37:21)
at async RedMessageEncoder.send (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:561:5)
at async RedBot.sendMessage (C:\Users\Administrator\Desktop\koishi-app-dev\koishi-app_dev\node_modules\@satorijs\core\lib\index.cjs:326:22)
2024-02-29 21:53:07 [W] session Error: fetch http://49.*.*.*:16510/api/message/send failed
...
感谢您在百忙之中抽出时间回答该问题,谢谢您!
大大有适配 bot#sendMessage 和 bot#sendPrivateMessage 的计划吗
大佬你好,能否支持转发消息
现在发转发消息是分开发,单条分开导致系统检测非正常操作。。。
消息log
[{"type":"node","data":[{"type":"node","data":[{"type":"text","data":"[角色]记录获取成功,更新0条\n[武器]记录获取成功,更新0条\n[常驻]记录获取成功,更新0条"},{"type":"text","data":"[角色]记录获取成功,更新0条\n[武器]记录获取成功,更新0条\n[常驻]记录获取成功,更新0条"},{"type":"text","data":"抽卡记录更新完成,您还可回复\n【#武器记录】统计武器池数据\n【#角色统计】按卡池统计数据\n【#导出记录】导出记录数据"}]}]}]
使用 koishi-plugin-verifier
插件批准通过所有好友请求但没有效果。
koishi-plugin-verifier:
https://github.com/koishijs/koishi-plugin-verifier/blob/main/src/index.ts#L58
koishi文档:
https://koishi.chat/zh-CN/api/core/events.html#%E6%88%90%E5%91%98%E7%B1%BB%E4%BA%8B%E4%BB%B6
"koishi-plugin-adapter-red": "2.2.0",
"koishi": "4.15.3"
平台: Linux; Windows
日志:
2023-10-30 09:36:22 [W] config failed to load adapter-red
2023-10-30 09:36:22 [W] config Error [ERR_REQUIRE_ESM]: require() of ES Module /root/ks/node_modules/wav-file-decoder/dist/WavFileDecoder.js from /root/ks/node_modules/koishi-plugin-adapter-red/lib/audio.js not supported.
Instead change the require of WavFileDecoder.js in /root/ks/node_modules/koishi-plugin-adapter-red/lib/audio.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (/root/ks/node_modules/koishi-plugin-adapter-red/lib/audio.js:11:28)
at Object.<anonymous> (/root/ks/node_modules/koishi-plugin-adapter-red/lib/message.js:33:17)
at Object.<anonymous> (/root/ks/node_modules/koishi-plugin-adapter-red/lib/bot.js:7:19)
at Object.<anonymous> (/root/ks/node_modules/koishi-plugin-adapter-red/lib/index.js:3:15)
at Proxy.import (/root/ks/node_modules/@koishijs/loader/lib/index.js:89:12)
at Proxy.resolvePlugin (/root/ks/node_modules/@koishijs/loader/lib/shared.js:203:51)
at _PackageProvider.parseExports (/root/ks/node_modules/@koishijs/plugin-config/lib/shared/index.js:85:45)
at ctx.console.addListener.authority (/root/ks/node_modules/@koishijs/plugin-config/lib/shared/index.js:48:37)
at WebSocket.receive (/root/ks/node_modules/@koishijs/console/lib/index.js:127:45)
我想实现以上功能 在测试中一模一样并不可以
测试了一下如果把艾特作为回答的话 数据库里的值是<at id="qq号" name="群昵称"/>
是否是这个原因导致不支持?
测试语句:# "^$m(.+)$" 你好 -x -E
Dialogue https://dialogue.koishi.chat
原帖子 https://forum.koishi.xyz/t/topic/1042
源码是这样
await session.send(<>
<image url={data.card.small} />
<p>名称: {data.name}#{data.tag}</p>
<p>地区: {regionName(data.region)}</p>
<p>账户等级: {data.account_level}</p>
<p>API上次更新: {new Date(data.last_update_raw * 1000)?.toLocaleString() ?? data.last_update}</p>
</>)
编译后是这样
await session.send((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("image", { url: data.card.small }), (0, jsx_runtime_1.jsxs)("p", { children: ["\u540D\u79F0: ", data.name, "#", data.tag] }), (0, jsx_runtime_1.jsxs)("p", { children: ["\u5730\u533A: ", (0, utils_1.regionName)(data.region)] }), (0, jsx_runtime_1.jsxs)("p", { children: ["\u8D26\u6237\u7B49\u7EA7: ", data.account_level] }), (0, jsx_runtime_1.jsxs)("p", { children: ["API\u4E0A\u6B21\u66F4\u65B0: ", new Date(data.last_update_raw * 1000)?.toLocaleString() ?? data.last_update] })] }));
但显示出来则没有隔行,全挤在一起
Discord 适配器没有这个问题
环境信息:
System:
OS: Windows 10 10.0.20348
CPU: (2) x64 QEMU Virtual CPU version 2.5+
Binaries:
Node: 20.3.1
Yarn: 4.0.1
Koishi:
Core: 4.17.3
Console: 5.25.8
Koishi Desktop: 1.0.2
插件信息:
adapter-red 3.1.0
adapter-lark 3.4.0
报错:
2024-04-04 12:18:20 [W] app TypeError: Cannot read properties of undefined (reading 'type')
at RedMessageEncoder.image (C:\Users\Administrator\AppData\Roaming\Koishi\Desktop\data\instances\default\node_modules\koishi-plugin-adapter-red\lib\message.js:89:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async RedMessageEncoder.visit (C:\Users\Administrator\AppData\Roaming\Koishi\Desktop\data\instances\default\node_modules\koishi-plugin-adapter-red\lib\message.js:263:17)
at async RedMessageEncoder.render (C:\Users\Administrator\AppData\Roaming\Koishi\Desktop\data\instances\default\node_modules\@satorijs\core\lib\index.cjs:531:7)
at async RedMessageEncoder.send (C:\Users\Administrator\AppData\Roaming\Koishi\Desktop\data\instances\default\node_modules\@satorijs\core\lib\index.cjs:560:5)
at async RedBot.sendMessage (C:\Users\Administrator\AppData\Roaming\Koishi\Desktop\data\instances\default\node_modules\@satorijs\core\lib\index.cjs:326:22)
如图,看到接受到的图片url是http://127.0.0.1:5141/red_assets/...,但这个url是不存在的,打不开图片
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.