Giter VIP home page Giter VIP logo

koishi-plugin-adapter-red's Introduction

koishi-plugin-adapter-red

npm

Red protocol adapter for Koishi.

koishi-plugin-adapter-red's People

Contributors

idanran avatar idranme avatar univeous avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

imakisa univeous

koishi-plugin-adapter-red's Issues

[Bug][3.0.1]Koishi 4.17.1,Adapter-red 3.0.1,响应命令时返回两条一模一样的消息

如题,观察发现当发出任何命令时(koishi 自带命令或第三方插件命令或由第三方定时主动发送的消息),koishi 会返回两条相同的响应,大约在达到插件设置->连接设置中"初次连接时的最大重试次数"设置的时间后koishi 后台会出现报错:
session Error: timeoutsession 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:

  • Node: 18.17.1
  • npm: 9.6.7

Koishi:

  • Core: 4.17.1
  • Console: 5.28.0

QQNT所在服务器信息:
System: OS: Windows 10 10.0.20348
CPU: (4) x64 AMD EPYC 7K62 48-Core Processor
Binaries:

  • Node: 20.11.0
  • npm: 10.2.4

Koishi:

  • Core: 4.17.1
  • Console: 5.28.0

重发两条消息造成的效果(第三方插件):

FF105D5F9474DD78E3913E9DF6490950

重发两条消息造成的效果(Koishi自带命令):

2AD60598C0483C21F82102D7221ED1E1

后台可以看到的报错代码:


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
...

感谢您在百忙之中抽出时间回答该问题,谢谢您!

转发消息

大佬你好,能否支持转发消息
现在发转发消息是分开发,单条分开导致系统检测非正常操作。。。

消息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【#导出记录】导出记录数据"}]}]}]

发出来是这样的
399361e663ed7c3027f29cad4ff27636

导致后续
image

无法识别群聊

dialogue是一个问答插件
dialogue-context是一个上下文插件,他会判断触发指令的群聊是否为白名单
385ef677f58a7ac2034d494a91026933
我在群聊写入dialogue,发现dialogue无法判断这条消息来自群聊,因此出现截图的情况,正常情况下是默认允许当前群聊

Bug: require() of ES Module wav-file-decoder/dist/WavFileDecoder.js from lib/audio.js not supported.

image
image
image
image

"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)

[issue] 发送图片及语音时 503 httpcode

问题

从飞书发送图片时:

Screenshot_20240202_214340

从飞书发送语音时:

Screenshot_20240202_220057

流程

插件 nullatom-feedback 通过 ctx.middleware(async (session, next) => {}); 获取来自飞书平台的 session.elements

最后使用 redBot.sendPrivateMessage("2324123456", session.elements) 来发送给 nt 私聊。

使用 jsx 插入 image 元素后 p 元素的隔行失效

源码是这样

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 适配器没有这个问题

消息发不出来

更新了1.0.19后消息发不出来了(好像base64的图片全会转),1.0.17可以正常发送

image

ffmpeg 环境变量也配了
image

(bug) 从 feishu 转发图片至 red 时报错

环境信息:

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.