MrXiaoM / Overflow

替换 mirai 实现为 Onebot 以进行无缝迁移
https://mirai.mrxiaom.top
GNU Affero General Public License v3.0
344 stars 25 forks source link

使用overflow对接Lagrange不能发送消息 #70

Closed AnnaYanami1129 closed 4 months ago

AnnaYanami1129 commented 4 months ago

问题描述

在overflow中可以接收到消息,在overflow也显示消息发送,但是Lagrange没有反应

复现

让bot发送消息即可

Overflow 版本

fa91aeb

其他组件版本

Lagrange版本(最新):f63e1b1,在overflow上面显示0.0.3

系统日志

2024-07-19 12:37:32 I/Onebot: Overflow v2.16.0-fa91aeb-SNAPSHOT.1 正在运行
2024-07-19 12:37:32 I/Onebot: 连接到 WebSocket: ws://127.0.0.1:8081
2024-07-19 12:37:33 I/Onebot: ▌ 已连接到服务器 ┈━═☆
2024-07-19 12:37:33 D/Onebot: [Recv] <-- {"sub_type":"connect","meta_event_type":"lifecycle","time":1721363853,"self_id":3669490934,"post_type":"meta_event"}
2024-07-19 12:37:33 D/Onebot: [Send] --> {"action":"get_version_info","echo":0}
2024-07-19 12:37:33 D/Onebot: [Recv] <-- {"status":"ok","retcode":0,"data":{"app_name":"Lagrange.OneBot","app_version":"0.0.3","protocol_version":"v11","nt_protocol":"Linux | 3.2.10-25765"},"echo":0}
2024-07-19 12:37:33 I/Onebot: 协议端版本信息
{
  "app_name": "Lagrange.OneBot",
  "app_version": "0.0.3",
  "protocol_version": "v11",
  "nt_protocol": "Linux | 3.2.10-25765"
}
2024-07-19 12:37:33 D/Onebot: [Send] --> {"action":"get_login_info","echo":1}
2024-07-19 12:37:33 D/Onebot: [Recv] <-- {"status":"ok","retcode":0,"data":{"user_id":3669490934,"nickname":"叙事诗"},"echo":1}

2024-07-19 12:39:57 I/Onebot: ▌ 服务器连接因 主动关闭 已关闭 (关闭码: NORMAL)
2024-07-19 12:45:10 I/Onebot: Overflow v2.16.0-fa91aeb-SNAPSHOT.1 正在运行
2024-07-19 12:45:10 I/Onebot: 连接到 WebSocket: ws://127.0.0.1:8081
2024-07-19 12:45:10 I/Onebot: ▌ 已连接到服务器 ┈━═☆
2024-07-19 12:45:10 D/Onebot: [Send] --> {"action":"get_version_info","echo":0}
2024-07-19 12:45:10 D/Onebot: [Recv] <-- {"sub_type":"connect","meta_event_type":"lifecycle","time":1721364310,"self_id":3669490934,"post_type":"meta_event"}
2024-07-19 12:45:10 D/Onebot: [Recv] <-- {"status":"ok","retcode":0,"data":{"app_name":"Lagrange.OneBot","app_version":"0.0.3","protocol_version":"v11","nt_protocol":"Linux | 3.2.10-25765"},"echo":0}
2024-07-19 12:45:10 I/Onebot: 协议端版本信息
{
  "app_name": "Lagrange.OneBot",
  "app_version": "0.0.3",
  "protocol_version": "v11",
  "nt_protocol": "Linux | 3.2.10-25765"
}
2024-07-19 13:04:10 D/Onebot: [Recv] <-- {"status":"ok","retcode":0,"data":{"message_id":53435,"forward_id":"EIuExFdscFLXQII7+Fp35O8QLvBHDE1bBZJVJqxzF0k7gVm5WqvoieTNipm+RMLJ"},"echo":17}
2024-07-19 13:04:23 D/Onebot: [Recv] <-- {"message_type":"group","sub_type":"normal","message_id":-738731359,"group_id":114502461,"user_id":1145067593,"anonymous":null,"message":[{"type":"text","data":{"text":"原"}}],"raw_message":"原","font":0,"sender":{"user_id":2423067593,"nickname":"a","card":"a","sex":"unknown","age":0,"area":"","level":"72","role":"member","title":""},"time":1721365463,"self_id":3669490934,"post_type":"message"}
2024-07-19 13:04:23 D/Onebot: [Send] --> {"action":"send_group_msg","params":{"group_id":114502461,"message":[{"type":"text","data":{"text":"原?哪里有原神?"}}],"auto_escape":false},"echo":18}
2024-07-19 13:04:24 D/Onebot: [Recv] <-- {"status":"ok","retcode":0,"data":{"message_id":48320},"echo":18}
2024-07-19 13:04:24 D/Onebot: [Send] --> {"action":"get_credentials","params":{"domain":"qinfo.clt.qq.com"},"echo":19}
2024-07-19 13:04:25 D/Onebot: [Recv] <-- {"status":"failed","retcode":200,"data":null,"echo":19}
2024-07-19 13:04:25 W/Onebot: 请求失败: [get_credentials] 请求失败: app=Lagrange.OneBot v0.0.3, message=, retJson={"status":"failed","retcode":200,"data":null,"echo":19}。如果你认为这是 Overflow 的问题,请带上 logs/onebot 中的日志来反馈。
2024-07-19 13:04:25 V/Onebot: Stacktrace: 
cn.evolvefield.onebot.client.util.ActionFailedException: 请求失败: app=Lagrange.OneBot v0.0.3, message=, retJson={"status":"failed","retcode":200,"data":null,"echo":19}
    at cn.evolvefield.onebot.client.util.ActionSendRequest.send(ActionSendRequest.kt:67)
    at cn.evolvefield.onebot.client.util.ActionSendRequest$send$1.invokeSuspend(ActionSendRequest.kt)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
    at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
    at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
    at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
    at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
    at top.mrxiaom.overflow.internal.contact.GroupWrapper$active$2.invoke(GroupWrapper.kt:96)
    at top.mrxiaom.overflow.internal.contact.GroupWrapper$active$2.invoke(GroupWrapper.kt:95)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    at top.mrxiaom.overflow.internal.contact.GroupWrapper.getActive(GroupWrapper.kt:95)
    at top.mrxiaom.overflow.internal.contact.data.MemberActiveWrapper.getRank(MemberActiveWrapper.kt:28)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.internal.dto.MemberActiveDTO.<init>(contact.kt:102)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.internal.dto.MemberDTO.<init>(contact.kt:81)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.internal.action.GroupKt.onGetMemberInfo(group.kt:107)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.http.router.GroupKt$groupManageRouter$1$invoke$$inlined$respondDTOStrategy$2.invokeSuspend(dsl.kt:138)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.http.router.GroupKt$groupManageRouter$1$invoke$$inlined$respondDTOStrategy$2.invoke(dsl.kt)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.http.router.GroupKt$groupManageRouter$1$invoke$$inlined$respondDTOStrategy$2.invoke(dsl.kt)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.http.router.GroupKt$groupManageRouter$1$invoke$$inlined$httpAuthedGet$2$1.invokeSuspend(dsl.kt:143)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.http.router.GroupKt$groupManageRouter$1$invoke$$inlined$httpAuthedGet$2$1.invoke(dsl.kt)
    at mirai-api-http-2.10.0.mirai2.jar//net.mamoe.mirai.api.http.adapter.http.router.GroupKt$groupManageRouter$1$invoke$$inlined$httpAuthedGet$2$1.invoke(dsl.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Route$buildPipeline$1$1.invokeSuspend(Route.kt:116)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Route$buildPipeline$1$1.invoke(Route.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Route$buildPipeline$1$1.invoke(Route.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing$executeResult$$inlined$execute$1.invokeSuspend(Pipeline.kt:478)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing$executeResult$$inlined$execute$1.invoke(Pipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing$executeResult$$inlined$execute$1.invoke(Pipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.debug.ContextUtilsKt.initContextInDebugMode(ContextUtils.kt:17)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing.executeResult(Routing.kt:174)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing.interceptor(Routing.kt:49)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing$Plugin$install$1.invokeSuspend(Routing.kt:124)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing$Plugin$install$1.invoke(Routing.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.routing.Routing$Plugin$install$1.invoke(Routing.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.BaseApplicationEngineKt$installDefaultTransformationChecker$1.invokeSuspend(BaseApplicationEngine.kt:122)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.BaseApplicationEngineKt$installDefaultTransformationChecker$1.invoke(BaseApplicationEngine.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.BaseApplicationEngineKt$installDefaultTransformationChecker$1.invoke(BaseApplicationEngine.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.application.hooks.CallFailed$install$1$1.invokeSuspend(CommonHooks.kt:43)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.application.hooks.CallFailed$install$1$1.invoke(CommonHooks.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.application.hooks.CallFailed$install$1$1.invoke(CommonHooks.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
    at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.application.hooks.CallFailed$install$1.invokeSuspend(CommonHooks.kt:42)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.application.hooks.CallFailed$install$1.invoke(CommonHooks.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.application.hooks.CallFailed$install$1.invoke(CommonHooks.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1$invokeSuspend$$inlined$execute$1.invokeSuspend(Pipeline.kt:478)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.debug.ContextUtilsKt.initContextInDebugMode(ContextUtils.kt:17)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invokeSuspend(DefaultEnginePipeline.kt:118)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invoke(DefaultEnginePipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invoke(DefaultEnginePipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.cio.CIOApplicationEngine$handleRequest$2$invokeSuspend$$inlined$execute$1.invokeSuspend(Pipeline.kt:478)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.cio.CIOApplicationEngine$handleRequest$2$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.cio.CIOApplicationEngine$handleRequest$2$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.util.debug.ContextUtilsKt.initContextInDebugMode(ContextUtils.kt:17)
    at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.cio.CIOApplicationEngine$handleRequest$2.invokeSuspend(CIOApplicationEngine.kt:189)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

网络日志

No response

补充信息

大多数时候是在overflow中可以接收到消息,在overflow也显示消息发送,但是Lagrange没有反应这样的 overflow输出:

2024-07-19 13:16:08 V/Bot.3669490934: [测2(748817094)] 洛琪希(2198694220) -> pet 2024-07-19 13:16:09 V/Bot.3669490934: [测2(748817094)] 洛琪希(2198694220) -> pet 2024-07-19 13:16:09 V/Bot.3669490934: Group(748817094) <- ForwardMessage(preview=[petpet!: Petpet KeyList: ], title=群聊的聊天记录, brief=[聊天记录], source=聊天记录, summary=查看1条转发消息, nodeList=[Node(senderId=3669490934, time=1721366168, senderName=petpet!, messageChain=Petpet KeyList: )]) 2024-07-19 13:16:10 V/Bot.3669490934: [测2(748817094)] 洛琪希(2198694220) -> pet 2024-07-19 13:16:10 V/Bot.3669490934: Group(748817094) <- ForwardMessage(preview=[petpet!: Petpet KeyList: ], title=群聊的聊天记录, brief=[聊天记录], source=聊天记录, summary=查看1条转发消息, nodeList=[Node(senderId=3669490934, time=1721366169, senderName=petpet!, messageChain=Petpet KeyList: )]) 2024-07-19 13:16:10 V/Bot.3669490934: Group(748817094) <- ForwardMessage(preview=[petpet!: Petpet KeyList: ], title=群聊的聊天记录, brief=[聊天记录], source=聊天记录, summary=查看1条转发消息, nodeList=[Node(senderId=3669490934, time=1721366170, senderName=petpet!, messageChain=Petpet KeyList: )]) 2024-07-19 13:18:21 V/Bot.3669490934: [测2(748817094)] 洛琪希(2198694220) -> [mirai:at:3669490934] 2024-07-19 13:18:22 V/Bot.3669490934: Group(748817094) <- [mirai:at:2198694220] Mirai在这里哦 有什么需要帮助的吗,发送help查看帮助 2024-07-19 13:18:40 V/Bot.3669490934: [测2(748817094)] 洛琪希(2198694220) -> [mirai:at:3669490934] 2024-07-19 13:18:41 V/Bot.3669490934: Group(748817094) <- [mirai:at:2198694220] Mirai在这里哦 有什么需要帮助的吗,发送help查看帮助

Lagrange输出:

info: Lagrange.Core.BotContext[0]

info: Lagrange.Core.BotContext[0]

info: Lagrange.Core.BotContext[0]

info: Lagrange.Core.BotContext[0]

info: Lagrange.Core.BotContext[0]

info: Lagrange.Core.BotContext[0] [2024-07-19 13:18:21] [MessagingLogic] [VERBOSE]: [MessageChain(748817094)(2198694220)] [Mention]: @叙事诗(3669490934) | [Text]:
info: Lagrange.Core.BotContext[0] [2024-07-19 13:18:21] [CachingLogic] [VERBOSE]: Caching group members: 748817094 info: Lagrange.Core.BotContext[0] [2024-07-19 13:18:40] [MessagingLogic] [VERBOSE]: [MessageChain(748817094)(2198694220)] [Mention]: @叙事诗(3669490934) | [Text]:

正向和反向ws连接我都试过了

MrXiaoM commented 4 months ago

发群消息已经返回 status: ok 了,消息这块不是 Overflow 的问题。 至于下面的报错,见 #68 可以开启配置文件中的 no_platform 来关闭群活跃获取功能,返回默认数据

AnnaYanami1129 commented 4 months ago

好的,谢谢(主要是两边都没有报错,我也不知道找谁