GithubHelp home page GithubHelp logo

mrxiaom / overflow Goto Github PK

View Code? Open in Web Editor NEW
300.0 3.0 22.0 991 KB

替换 mirai 实现为 Onebot 以进行无缝迁移

Home Page: https://mirai.mrxiaom.top

License: GNU Affero General Public License v3.0

Kotlin 100.00%
dependency implementation mirai mirai-bot mirai-core onebot onebot11

overflow's Introduction

Overflow WIP

欢迎回到 mirai

Overflow 是 mirai-core-api 的实现,对接 OneBot 11 标准,实现 mirai 的无缝迁移。

形象图由 人间工作 绘制

project-tRNA 星标 mirai Onebot 11 论坛

当前 Overflow 正趋于稳定,欢迎各位测试。

兼容性说明

Overflow 支持且仅支持连接到大多数标准的 Onebot 或 go-cqhttp 协议,支持安装未使用 mirai 内部特性或 mirai 码的插件

  • 使用正向(主动)或反向(被动) WebSocket 连接
  • 在连接时使用 token 鉴权
  • 在代码中调用自定义的 action
  • 在消息中使用 CQ 码 测试中
  • 将 mirai 消息段序列化/反序列化为 json
  • 使用 MiraiCode (Mirai 码) 处理消息 不支持

如果你的 Overflow 与 Onebot 实现 (如 LLOnebot、NapCat、Gensokyo 等) 可部署且已部署在了同一文件系统,推荐安装附属插件 LocalFileService

鸣谢

本项目使用了 onebot-client 进行快速开发。
感谢该项目为本项目的发起者节约了大量的阅读文档与设计接口时间。

overflow's People

Contributors

bread-nicecat avatar evolvedghost avatar guimc233 avatar kurenairyu avatar mrxiaom avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

overflow's Issues

消息中message_id类型解析问题

问题描述

Onebot V11标准中,message_id的数据类型为number (int32),但是似乎Overflow在回复信息中会将其解析为uint32

复现

我的业务逻辑代码大致如下:

@OptIn(DelicateCoroutinesApi::class)
fun sendGroupsMessage(gm: GroupMessageEvent, message: String) {
    GlobalScope.launch {
        val chain = buildMessageChain {
            gm.message.quote()
            +PlainText(message)
        }
        gm.group.sendMessage(chain)
    }
}
GlobalEventChannel.subscribeAlways<GroupMessageEvent> {
    sendGroupsMessage(it, "XXXX")
}

就是一种通过GroupMessageEvent来回复信息的效果,回复使用者的信息并发送XXXX

大多数情况是正常的,有时候会报错

Onebot的log如下:

2024-04-01 10:27:55 D/Onebot: Client received <-- {"message_type":"group","sub_type":"normal","message_id":-964635551,"group_id":GID,"user_id":UID,"anonymous":null,"message":[{"type":"text","data":{"text":"XXX"}}],"raw_message":"XXX","font":0,"sender":{"user_id":UID,"nickname":"NICK","card":"CARD","sex":"unknown","age":0,"area":"","level":"100","role":"admin","title":""},"time":1711938475,"self_id":BOTID,"post_type":"message"}
2024-04-01 10:27:55 D/Onebot: Send to server --> {"action":"send_group_msg","params":{"group_id":GID,"message":[{"type":"reply","data":{"id":"3330331745"}},{"type":"text","data":{"text":"XXX"}},"auto_escape":false},"echo":264}
2024-04-01 10:27:55 D/Onebot: Client received <-- {"status":"failed","retcode":200,"data":null,"echo":264}

在这段日志实例中,message id -964635551在回复的时候被解析为了3330331745,目测应该是int32被解析为了uint32

Lagrange的日志也证明了这一点,超出int32范围:

warn: Lagrange.OneBot.Core.Operation.OperationService[0]
      Unexpected error encountered while handling message.
      System.OverflowException: Value was either too large or too small for an Int32.
         at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, ReadOnlySpan`1 value, TypeCode type)
         at System.Int32.Parse(String s)
         at Lagrange.OneBot.Message.Entity.ReplySegment.Build(MessageBuilder builder, SegmentBase segment) in {PATH}\Lagrange.OneBot\Message\Entity\ReplySegment.cs:line 27
         at Lagrange.OneBot.Core.Operation.Message.MessageCommon.BuildMessages(MessageBuilder builder, List`1 segments) in {PATH}\Lagrange.OneBot\Core\Operation\Message\MessageCommon.cs:line 215
         at Lagrange.OneBot.Core.Operation.Message.MessageCommon.ParseChain(OneBotGroupMessage message) in {PATH}\Lagrange.OneBot\Core\Operation\Message\MessageCommon.cs:line 143
         at Lagrange.OneBot.Core.Operation.Message.SendGroupMessageOperation.HandleOperation(BotContext context, JsonNode payload) in {PATH}\Lagrange.OneBot\Core\Operation\Message\SendGroupMessageOperation.cs:line 19
         at Lagrange.OneBot.Core.Operation.OperationService.HandleOperation(MsgRecvEventArgs e) in {PATH}\Lagrange.OneBot\Core\Operation\OperationService.cs:line 58

Overflow 版本

213cf4d

其他组件版本

Mirai目录Libs:
mirai-console-2.16.0
mirai-console-terminal-2.16.0-all
overflow-core-all-2.16.0-213cf4d-SNAPSHOT-all
bcprov-jdk15on-1.64

Onebot实现:
Lagrange.OneBot (Commit:62f48c224a683f4721f1c94f58df5468663ac9d1)

系统日志

No response

网络日志

No response

补充信息

目前来说message_id在0到2147483647的时候是正常的,而且大多数message_id都小于2147483647,我这儿也就一个群里出现,因此表现形式是就那个群无法发送,且不清楚这个在OpenShamrock上是不是一样的表现(好像之前在OpenShamrock上没遇到过),因此提issue了

同样的该群的所有带回复的信息也无法获取,目测也是把回复的Reply的message id解析到了uint32(?),Overflow报错如下:

2024-04-01 11:12:54 W/stderr: Exception in thread "DefaultDispatcher-worker-7" java.lang.NumberFormatException: Invalid number format: '-960279562'
2024-04-01 11:12:54 W/stderr:   at kotlin.text.StringsKt__StringNumberConversionsKt.numberFormatError(StringNumberConversions.kt:203)
2024-04-01 11:12:54 W/stderr:   at kotlin.text.UStringsKt.toUInt(UStrings.kt:92)
2024-04-01 11:12:54 W/stderr:   at top.mrxiaom.overflow.internal.message.OnebotMessages.deserializeFromOneBotJson$overflow_core(OnebotMessages.kt:333)
2024-04-01 11:12:54 W/stderr:   at top.mrxiaom.overflow.internal.message.OnebotMessages.deserializeFromOneBot$overflow_core(OnebotMessages.kt:253)
2024-04-01 11:12:54 W/stderr:   at top.mrxiaom.overflow.internal.message.OnebotMessages.deserializeFromOneBot$overflow_core$default(OnebotMessages.kt:251)
2024-04-01 11:12:54 W/stderr:   at top.mrxiaom.overflow.internal.listener.GroupMessageListener.onMessage(group.kt:42)
2024-04-01 11:12:54 W/stderr:   at top.mrxiaom.overflow.internal.listener.GroupMessageListener.onMessage(group.kt:34)
2024-04-01 11:12:54 W/stderr:   at cn.evolvefield.onebot.client.listener.EventListenerKt.message(EventListener.kt:21)
2024-04-01 11:12:54 W/stderr:   at cn.evolvefield.onebot.client.handler.EventBus.onReceive(EventBus.kt:44)
2024-04-01 11:12:54 W/stderr:   at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1.invokeSuspend(IAdapter.kt:31)
2024-04-01 11:12:54 W/stderr:   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-04-01 11:12:54 W/stderr:   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-04-01 11:12:54 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
2024-04-01 11:12:54 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
2024-04-01 11:12:54 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
2024-04-01 11:12:54 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2024-04-01 11:12:54 W/stderr:   Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [CoroutineName(overflow), StandaloneCoroutine{Cancelling}@2ca510dd, Dispatchers.Default]

刚刚看到代码了:

is QuoteReply -> when { // 忽略分片消息情况
// TODO: 待定,Lagrange.Core 中的 reply id 类型较混乱,写入的时候 uint.ToString(),读取的时候 (uint)int.Parse()
app.contains("lagrange") -> put("id", single.source.ids[0].toUInt().toString())
else -> put("id", single.source.ids[0].toString())
}

val id = when {
app.contains("lagrange") -> data["id"].string.toUInt().toInt()
else -> data["id"].string.toInt()
}

😨要不直接干成long得了,反正两边交互用的json(

无法正确接收到消息

在群里发送了一条消息,bot本应接收到该消息并作出响应(通过mirai-api-http连接)
刚启动的时候是可以正确响应的,但是过了一段时间后发现bot并没有做出响应,疑似是没有正确接收到消息

logs/onebot文件夹下有接收到该消息的日志

2023-12-06 19:06:55 D/Onebot: Client received <-- {"time":1701860814,"self_id":,"post_type":"message","message_type":"group","sub_type":"normal","message_id":,"group_id":,"peer_id":,"user_id":,"message":[{"data":{"text":"查询"},"type":"text"}],"raw_message":"查询","font":0,"sender":{"user_id":,"nickname":"","card":"","role":"owner","title":"","level":""}}

但是在logs文件夹下没有任何接收到该消息的日志,最后一条日志是

2023-12-06 14:59:41 I/Onebot: ▌ 反向 WebSocket 客户端 /host:port 已连接 ┈━═☆

bots/[QQ]/log目录下也没有接收到该消息的日志,最后一条日志是上一次接收到消息的日志(也就是说,之前是可以正常接收到消息的,但是后来不行了)

mirai-api-http:2.9.1
Overflow版本:3fefc93c3fb994480cec78ca524d8579c500821a

群聊信息中`Member`的`Card`应该可为空

问题描述

部分插件调用Member.getNameCard()会报错,稍微排查了下应该是 ad8e502 里切换成Kotlin强类型绑定导致的,最后一个无此现象的snapshot版本为 f4dfdfe

同时查阅Onebot的日志,目前cardtitle可为空

复现

在插件中使用Member.getNameCard(),下方以petpet为例

Overflow 版本

f454a28

其他组件版本

应该与其他组件没关系

系统日志

An exception occurred when processing event. Subscriber scope: '<unnamed>'. Broadcaster scope: 'Bot.{BOTID}.EventDispatcher'. Onebot implementation: 'Lagrange.OneBot v0.0.3'
java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because the return value of "net.mamoe.mirai.contact.Member.getNameCard()" is null
	at petpet-6.1.mirai2.jar//moe.dituon.petpet.mirai.MiraiPetpet.getNameOrNick(MiraiPetpet.java:551)
	at petpet-6.1.mirai2.jar//moe.dituon.petpet.mirai.MiraiPetpet.responseMessage(MiraiPetpet.java:197)
	at petpet-6.1.mirai2.jar//moe.dituon.petpet.mirai.MiraiPetpet.onGroupMessage(MiraiPetpet.java:158)
	at net.mamoe.mirai.event.EventChannel$subscribeAlways$2$1.invoke(EventChannel.kt:605)
	at net.mamoe.mirai.event.EventChannel$subscribeAlways$2$1.invoke(EventChannel.kt:605)
	at kotlinx.coroutines.InterruptibleKt.runInterruptibleInExpectedContext(Interruptible.kt:51)
	at kotlinx.coroutines.InterruptibleKt.access$runInterruptibleInExpectedContext(Interruptible.kt:1)
	at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:43)
	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)

网络日志

{"group_id":GID,"user_id":UID,"nickname":"NAME","card":null,"sex":"","age":0,"area":"","join_time":1680000000,"last_sent_time":1780000000,"level":"24","role":"member","unfriendly":false,"title":null,"title_expire_time":0,"card_changeable":false}

补充信息

No response

无法启动,显示错误:无法初始化主类 net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader

问题描述
start.sh脚本启动后显示

错误: 无法初始化主类 net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader
原因: java.lang.NoClassDefFoundError: kotlinx/coroutines/CoroutineScope

按照用户手册方法三安装,依次准备了三个文件 mirai-console-2.16.0-all.jar mirai-console-terminal-2.16.0-all.jar overflow-core-all-2.16.0-all.jar
创建 libs 文件夹,将以上内容放入该文件夹。
使用 start.sh(Linux/MacOS) 如下

java -cp "$CLASSPATH:./libs/*" net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader

overflow版本
overflow版本:overflow-core-all-5194d53

[get_user_info, echo=4] API不存在

问题描述

在使用 mirai-http-api 间接调用获取账号信息时出现 [get_user_info, echo=4] API不存在 报错

复现

  1. 配置好 OneBot 和 Overflow
  2. 在 Overflow 上安装 mirai-http-api
  3. 通过 mirai-http-api 获取登陆的账号信息

Overflow 版本

2.16.0-10537f2

其他组件版本

  • OneBot: 1.2.0
  • mirai-console: 2.16.0
  • mirai-api-http: 2.9.1

系统日志

No response

网络日志

// ...
2024-01-10 00:30:38 D/Onebot: Send to server --> {"action":"get_user_info","params":{"user_id":1233456,"refresh":false},"echo":4}
2024-01-10 00:30:38 D/Onebot: Client received <-- {"data":null,"echo":4,"message":"API不存在","msg":"API_NOT_FOUND","retcode":404,"status":"failed","wording":"API不存在"}
2024-01-10 00:30:38 W/Onebot: Request failed: [get_user_info, echo=4] API不存在

补充信息

OneBot 提供了 get_stranger_info 这个 API,理论上把这个 API 拿来用就行了?

语音消息无法发送

问题描述

通过overflow和lagrange发送语音消息无法发出

复现

通过overflow和lagrange发送语音消息无法发出

Overflow 版本

8c7dd0c

其他组件版本

No response

系统日志

2024-03-08 23:08:02 W/Onebot: Request failed: [send_group_msg, echo=196] app=Lagrange.OneBot v0.0.3 ,message=, retCode=200, retJson={"status":"failed","retcode":200,"data":null,"echo":196}
2024-03-08 23:08:02 V/Bot.2411510662: Group(937068620) <- [overflow:audio,file=base64:////lcQBTAAAD+M66iEFCEDHR0zPvlSVMi... (about 10.83 KB)]

网络日志

2024-03-08 23:08:02 D/Onebot: Client received <-- {"status":"failed","retcode":200,"data":null,"echo":196}
2024-03-08 23:08:02 W/Onebot: Request failed: [send_group_msg, echo=196] app=Lagrange.OneBot v0.0.3 ,message=, retCode=200, retJson={"status":"failed","retcode":200,"data":null,"echo":196}
2024-03-08 23:08:02 V/Onebot: Stacktrace: 
cn.evolvefield.onebot.client.util.ActionFailedException: app=Lagrange.OneBot v0.0.3 ,message=, retCode=200, retJson={"status":"failed","retcode":200,"data":null,"echo":196}
	at cn.evolvefield.onebot.client.util.ActionSendRequest.send(ActionSendRequest.kt:49)
	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.DispatchedTaskKt.resume(DispatchedTask.kt:178)
	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
	at kotlinx.coroutines.ResumeAwaitOnCompletion.invoke(JobSupport.kt:1413)
	at kotlinx.coroutines.JobSupport.completeStateFinalization(JobSupport.kt:318)
	at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:295)
	at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:856)
	at kotlinx.coroutines.JobSupport.makeCompleting$kotlinx_coroutines_core(JobSupport.kt:806)
	at kotlinx.coroutines.CompletableDeferredImpl.complete(CompletableDeferred.kt:92)
	at cn.evolvefield.onebot.client.util.ActionSendRequest.onCallback(ActionSendRequest.kt:64)
	at cn.evolvefield.onebot.client.handler.ActionHandler.onReceiveActionResp(ActionHandler.kt:38)
	at cn.evolvefield.onebot.client.connection.IAdapter$DefaultImpls.onReceiveMessage(IAdapter.kt:26)
	at cn.evolvefield.onebot.client.connection.WSClient.onReceiveMessage(WSClient.kt:19)
	at cn.evolvefield.onebot.client.connection.WSClient.onMessage(WSClient.kt:45)
	at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:636)
	at top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:986)
	at top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455.processFrame(Draft_6455.java:910)
	at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:402)
	at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.decode(WebSocketImpl.java:234)
	at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.run(WebSocketClient.java:516)
	at java.base/java.lang.Thread.run(Thread.java:833)

补充信息

warn: Lagrange.OneBot.Core.Operation.OperationService[0]
Unexpected error encountered while handling message.
System.Exception: Encode failed
at Lagrange.OneBot.Message.Entity.RecordSegment.Build(MessageBuilder builder, SegmentBase segment)
at Lagrange.OneBot.Core.Operation.Message.MessageCommon.BuildMessages(MessageBuilder builder, List`1 segments)
at Lagrange.OneBot.Core.Operation.Message.SendGroupMessageOperation.HandleOperation(BotContext context, JsonNode payload)
at Lagrange.OneBot.Core.Operation.OperationService.HandleOperation(MsgRecvEventArgs e)

使用正向连接的聊天会多一层冒号

问题描述

原版的Mirai的聊天信息在终端中应该长这样(使用反向WS也是如此):
2024-02-20 10:00:0 V/Bot.114514: [QQ群(1919810)] 群员(10086) -> 聊天信息

使用正向连接我这儿长这样:
2024-02-20 10:00:0 V/Bot.114514: [QQ群(1919810)] 群员(10086) -> "聊天信息"

Mirai部分插件是按照前缀进行识别判断的,因此多一层冒号之后部分插件就失效了

复现

使用OpenShamrock,开启Onebot标准WebSocket,Shamrock作为Server,配置ws_host使用正向WS连接

Overflow 版本

overflow-core-all-2.16.0-700df26-SNAPSHOT-all.jar

其他组件版本

mirai-console-2.16.0-all.jar
mirai-console-terminal-2.16.0-all.jar
OpenShamrock-1.0.8.r296.e68a1ff-xposed
QQ-V 9.0.17.15190

系统日志

No response

网络日志

No response

补充信息

测试过原版Mirai和反向WS模式下的Overflow均无冒号,而正向WS模式下的Overflow会出现冒号,而我的另一个Nonebot机器人使用正向WS连接到OpenShamrock并没有出现类似情况,所以我认为应该不是OpenShamrock的问题

使用拉格朗日有些群消息无法获取

问题描述

在有些群聊里的消息可以被拉格朗日接收到,但是在overflow里无法接收。(因为是部署在树莓派上,没有远程桌面,所以只能拍照,请见谅)不知道是为什么
1b172909d00fe5e211450a1981b7bc14
cgi-bin_mmwebwx-bin_webwxgetmsgimg_ MsgID=6517431017753148198 skey=@crypt_91ea7dcc_835686ad7ee54b41fd7deab16a508e99 mmweb_appid=wx_webfilehelper

复现

在某些群的消息

Overflow 版本

213cf4d

其他组件版本

44477b9

系统日志

No response

网络日志

No response

补充信息

No response

无法识别群成员管理员权限

问题描述

starbot对接mirai-http-api,通过overflow转为onebot链接llonebot v3.24.2

starbot通过get_member获取bot账号的Member对象,Member的permission小于MemberPerm.Administrator
实际上bot账号为管理员权限,不符合预期

想要咨询一下是overflow的问题还是llonebot的问题

复现

尝试at全体

StarBot/starbot/core/sender.py:252

#过滤 Bot 不是群管理员时的 @全体成员 消息
try:
    bot_info = await self.__bot.get_member(message.id, self.qq)
except UnknownTarget:
    return new_chains, exception
if bot_info.permission < MemberPerm.Administrator:
    exception = NoPermissionException()
    chain = chain.exclude(AtAll)

Overflow 版本

overflow-2.16.0-f454a28

其他组件版本

llonebot v3.24.2

系统日志

2024-05-21 22:47:20.030 | WARNING | starbot.core.sender:252 | bot_info.permission =<普通成员>, MemberPerm.Administrator =<管理员>

网络日志

No response

补充信息

No response

语音消息以及表情无法发出

问题描述

使用Overflow和Lagrange,语音消息无法发出

复现

使用overflow-2.16.0-88426f1与Lagrange
发送语音消息以及包含表情的消息无法收到,overflow日志中会显示,但是lagrange日志报错

Overflow 版本

88426f1

其他组件版本

Lagrange-46fc168

系统日志

2024-03-06 22:11:02 W/Onebot: Request failed: [send_group_msg, echo=649] , retCode=200
2024-03-06 22:11:02 V/Bot.2411510662: Group(887911271) <- [overflow:audio,file=base64:////lgYAFgAADMAAf/+WBgMyAAAQ4UrjRY... (about 142.18 KB)]
2024-03-06 22:11:02 W/Onebot: Request failed: [send_group_msg, echo=650] , retCode=200
2024-03-06 22:11:02 V/Bot.2411510662: Group(887911271) <- 葡萄油(倒霉一姐の粉):辛苦了宝宝
【你的宝宝熊紫轶💓@熊紫轶(熊紫轶)】
辛苦你啦![回头]

网络日志

2024-03-06 22:11:02 D/Onebot: Client received <-- {"status":"failed","retcode":200,"data":null,"echo":649}
2024-03-06 22:11:02 W/Onebot: Request failed: [send_group_msg, echo=649] , retCode=200
2024-03-06 22:11:02 V/Onebot: Stacktrace: 
cn.evolvefield.onebot.client.util.ActionFailedException: , retCode=200
	at cn.evolvefield.onebot.client.util.ActionSendUtils.send(ActionSendUtils.kt:47)
	at cn.evolvefield.onebot.client.util.ActionSendUtils$send$1.invokeSuspend(ActionSendUtils.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.DispatchedTaskKt.resume(DispatchedTask.kt:178)
	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
	at kotlinx.coroutines.ResumeAwaitOnCompletion.invoke(JobSupport.kt:1413)
	at kotlinx.coroutines.JobSupport.completeStateFinalization(JobSupport.kt:318)
	at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:295)
	at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:856)
	at kotlinx.coroutines.JobSupport.makeCompleting$kotlinx_coroutines_core(JobSupport.kt:806)
	at kotlinx.coroutines.CompletableDeferredImpl.complete(CompletableDeferred.kt:92)
	at cn.evolvefield.onebot.client.util.ActionSendUtils.onCallback(ActionSendUtils.kt:58)
	at cn.evolvefield.onebot.client.handler.ActionHandler.onReceiveActionResp(ActionHandler.kt:38)
	at cn.evolvefield.onebot.client.connection.IAdapter$DefaultImpls.onReceiveMessage(IAdapter.kt:26)
	at cn.evolvefield.onebot.client.connection.WSClient.onReceiveMessage(WSClient.kt:18)
	at cn.evolvefield.onebot.client.connection.WSClient.onMessage(WSClient.kt:43)
	at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:636)
	at top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:986)
	at top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455.processFrame(Draft_6455.java:910)
	at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:402)
	at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.decode(WebSocketImpl.java:234)
	at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.run(WebSocketClient.java:516)
	at java.base/java.lang.Thread.run(Thread.java:833)

2024-03-06 22:11:02 D/Onebot: Send to server --> {"action":"send_group_msg","params":{"group_id":887911271,"message":[{"type":"text","data":{"text":"葡萄油(倒霉一姐の粉):"}},{"type":"text","data":{"text":"辛苦了宝宝"}},{"type":"text","data":{"text":"\n【你的宝宝熊紫轶💓@熊紫轶(熊紫轶)】\n"}},{"type":"text","data":{"text":"辛苦你啦!"}},{"type":"face","data":{"id":127}},{"type":"text","data":{"text":""}}],"auto_escape":false},"echo":650}
2024-03-06 22:11:02 D/Onebot: Client received <-- {"status":"failed","retcode":200,"data":null,"echo":650}
2024-03-06 22:11:02 W/Onebot: Request failed: [send_group_msg, echo=650] , retCode=200
2024-03-06 22:11:02 V/Onebot: Stacktrace: 
cn.evolvefield.onebot.client.util.ActionFailedException: , retCode=200
	at cn.evolvefield.onebot.client.util.ActionSendUtils.send(ActionSendUtils.kt:47)
	at cn.evolvefield.onebot.client.util.ActionSendUtils$send$1.invokeSuspend(ActionSendUtils.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.DispatchedTaskKt.resume(DispatchedTask.kt:178)
	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
	at kotlinx.coroutines.ResumeAwaitOnCompletion.invoke(JobSupport.kt:1413)
	at kotlinx.coroutines.JobSupport.completeStateFinalization(JobSupport.kt:318)
	at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:295)
	at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:856)
	at kotlinx.coroutines.JobSupport.makeCompleting$kotlinx_coroutines_core(JobSupport.kt:806)
	at kotlinx.coroutines.CompletableDeferredImpl.complete(CompletableDeferred.kt:92)
	at cn.evolvefield.onebot.client.util.ActionSendUtils.onCallback(ActionSendUtils.kt:58)
	at cn.evolvefield.onebot.client.handler.ActionHandler.onReceiveActionResp(ActionHandler.kt:38)
	at cn.evolvefield.onebot.client.connection.IAdapter$DefaultImpls.onReceiveMessage(IAdapter.kt:26)
	at cn.evolvefield.onebot.client.connection.WSClient.onReceiveMessage(WSClient.kt:18)
	at cn.evolvefield.onebot.client.connection.WSClient.onMessage(WSClient.kt:43)
	at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:636)
	at top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:986)
	at top.mrxiaom.overflow.internal.deps.websocket.drafts.Draft_6455.processFrame(Draft_6455.java:910)
	at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:402)
	at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.decode(WebSocketImpl.java:234)
	at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.run(WebSocketClient.java:516)
	at java.base/java.lang.Thread.run(Thread.java:833)

补充信息

No response

优化 Base64 图片发送时日志输出

Overflow 版本:00fd581

当发送的图片为 Base64 类型时,整个文件的内容会原封不动输出到日志中。如果图片较大,会出现满屏日志的情况。希望可以简化 Base64 类型图片的日志输出信息。

[overflow:image,url=base64:///9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYI
... (about 75800 bytes)
0mWj+k/6q01mz4jHUOoxE6fJghCEOU//Z,isEmoji=false]

希望能够添加日志简化功能

由于某种原因,我所部署的 mirai 与 NapCat 不在同一服务器之内,每次传递文件或者图片消息时会被转换成base64编码发送,同时日志内会记录完整的编码信息。这导致每次日志会占用大量无用空间且可读性降低,目前最多已经达到了1天1GB的日志存储量。
image

所以希望能够添加一个日志简化功能,可以在配置文件里面启用,使日志保存类似于后台 [overflow:image,url=base64://xxx... (png, about 12.34 KB)]的简化overflow码,拯救我的硬盘空间(bushi
十分感谢!

临时会话消息接收不到

问题描述

image
image
image

复现

不加好友,从群聊发起会话

Overflow 版本

f454a28

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

No response

无法艾特全员

问题描述

发送艾特全员消息时,未能艾特全员,只发送了文本内容

复现

使用mirai-api-http 2.9.1发送艾特全员消息,应正常显示为@全体成员 一条消息,但是实际只发送了一条消息这四个字

Overflow 版本

bad4daa

其他组件版本

OpenShamrock 1.0.7-dev.6201d12
mirai-api-http 2.9.1
Mirai console 2.16.0

系统日志

2023-12-18 21:06:58 D/Onebot: Send to server --> {"action":"send_group_msg","params":{"group_id":**********,"message":[{"type":"text","data":{}},{"type":"text","data":{"text":"一条消息"}}],"auto_escape":false},"echo":295}

网络日志

No response

补充信息

No response

获取群成员列表超时时间太短

问题描述

我程序用get_group_member_list比较多... 然后10000ms就超时爆了一大堆获取失败错误....

复现

我程序用get_group_member_list比较多... 然后10000ms就超时爆了一大堆获取失败错误.... 希望能超时拉长一点...

Overflow 版本

a0c6602

其他组件版本

mirai-api-http v2.9.1
mirai-console-2.15.0-RC
NapCatQQ

系统日志

No response

网络日志

No response

补充信息

No response

NapCat正向WS无法将临时会话的消息推至Mirai新消息

问题描述

Websocket连接正常,网络日志中正常接收JSON消息,Mirai无法看到新消息,无反应。

复现

通过QQ群发送临时会话消息。

Overflow 版本

bbce014

其他组件版本

Mirai console 2.16.0
Overflow v2.16.0-bbce014-SNAPSHOT.1

系统日志

15:43:50 [INFO] iTX Technologies Mirai Console Loader version 2.1.2-dacb7ee
  15:43:50 [INFO] Runtime: OpenJDK 64-Bit Server VM 17.0.11 (arch: 64)
  15:43:50 [INFO] https://github.com/iTXTech/mirai-console-loader
  15:43:50 [INFO] This program is licensed under GNU AGPL v3
  15:43:52 [INFO] Mirai Console Loader Announcement:
Mirai Console Loader 公告栏

如果在图片上传的时候遇到问题请与我们联系 (需要提供图片文件源本)
`- 如 Unsupported image type for ExternalResource *
`  considering use gif/png/bmp/jpg format.
`- Tracker: https://github.com/mamoe/mirai/issues/new/choose

常用资源整合
`- https://mirai.mamoe.net/topic/653
 
MCL 已推出 2.1.0,更好的支持 Mirai 2.11 的插件系统,建议更新。

  15:43:52 [INFO] Verifying "net.mamoe:mirai-console" v2.16.0 from maven-stable
  15:43:54 [INFO] Verifying "net.mamoe:mirai-console-terminal" v2.16.0 from maven-stable
  15:43:54 [INFO] Verifying "org.itxtech:mcl-addon" v2.1.1 from maven-stable
  15:43:55 [INFO] Verifying "top.mrxiaom:overflow-core-all" v2.16.0-bbce014-SNAPSHOT from maven-nightly
2024-05-15 15:43:58 I/main: Starting mirai-console...
2024-05-15 15:43:58 I/main: 

===================================[ Mirai console 2.16.0 ]===================================
 __       __ __                   __  ______                                      __
|  \     /  \  \                 |  \/      \                                    |  \
| ▓▓\   /  ▓▓\▓▓ ______   ______  \▓▓  ▓▓▓▓▓▓\ ______  _______   _______  ______ | ▓▓ ______
| ▓▓▓\ /  ▓▓▓  \/      \ |      \|  \ ▓▓   \▓▓/      \|       \ /       \/      \| ▓▓/      \
| ▓▓▓▓\  ▓▓▓▓ ▓▓  ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓ ▓▓     |  ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\  ▓▓▓▓▓▓▓  ▓▓▓▓▓▓\ ▓▓  ▓▓▓▓▓▓\
| ▓▓\▓▓ ▓▓ ▓▓ ▓▓ ▓▓   \▓▓/      ▓▓ ▓▓ ▓▓   __| ▓▓  | ▓▓ ▓▓  | ▓▓\▓▓    \| ▓▓  | ▓▓ ▓▓ ▓▓    ▓▓
| ▓▓ \▓▓▓| ▓▓ ▓▓ ▓▓     |  ▓▓▓▓▓▓▓ ▓▓ ▓▓__/  \ ▓▓__/ ▓▓ ▓▓  | ▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ ▓▓ ▓▓▓▓▓▓▓▓
| ▓▓  \▓ | ▓▓ ▓▓ ▓▓      \▓▓    ▓▓ ▓▓\▓▓    ▓▓\▓▓    ▓▓ ▓▓  | ▓▓       ▓▓\▓▓    ▓▓ ▓▓\▓▓     \
 \▓▓      \▓▓\▓▓\▓▓       \▓▓▓▓▓▓▓\▓▓ \▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓   \▓▓\▓▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓ \▓▓▓▓▓▓▓


2024-05-15 15:43:58 I/main: Backend: version 2.16.0, built on 2023-10-20 06:28:10.
2024-05-15 15:43:58 I/main: Frontend Terminal: version 2.16.0, provided by Mamoe Technologies
2024-05-15 15:43:58 I/main: Welcome to visit https://mirai.mamoe.net/
2024-05-15 15:44:00 I/plugin: Successfully loaded plugin MCL Addon v2.1.1
2024-05-15 15:44:00 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop
2024-05-15 15:44:01 I/MCL Addon: iTXTech MCL Version: 2.1.2-dacb7ee
2024-05-15 15:44:01 W/MCL Addon: iTXTech Soyuz 未安装,Soyuz MCL Handler 特性已禁用
2024-05-15 15:44:01 I/main: 3 plugin(s) enabled.
2024-05-15 15:44:01 I/main: mirai-console started successfully.

如需关闭控制台,请按下 Ctrl+C 组合键,或使用命令 /stop 来关闭。强制结束进程/关闭窗口可能会导致数据丢失

2024-05-15 15:44:01 I/Onebot: Overflow v2.16.0-bbce014-SNAPSHOT.1 正在运行
2024-05-15 15:44:01 I/Onebot: 连接到 WebSocket: ws://127.0.0.1:3001
2024-05-15 15:44:01 I/Onebot: ▌ 已连接到服务器 ┈━═☆
2024-05-15 15:44:01 I/Onebot: 服务端版本信息
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "app_name": "NapCat.Onebot",
    "protocol_version": "v11",
    "app_version": "1.3.2"
  },
  "message": "",
  "wording": "",
  "echo": 0
}
2024-05-15 15:44:02 V/Bot.*********: Event: BotOnlineEvent(bot=Bot*********))
> 
2024-05-15 15:49:51 I/Bot.*********: Bot cancelled: Job was cancelled
2024-05-15 15:49:51 I/Onebot: ▌ 服务器连接因 主动关闭 已关闭 (关闭码: NORMAL)

网络日志

2024-05-15 15:44:06 D/Onebot: Client received <-- {"self_id":*********,"user_id":*******,"time":1715759046,"message_id":-2147483605,"message_seq":-2147483605,"real_id":-2147483605,"message_type":"private","sender":{"user_id":*******,"nickname":"","card":""},"raw_message":"1","font":14,"sub_type":"group","message":[{"data":{"text":"1"},"type":"text"}],"message_format":"array","post_type":"message"}
2024-05-15 15:44:11 D/Onebot: Client received <-- {"self_id":*******,"user_id":*******,"time":1715759051,"message_id":-2147483604,"message_seq":-2147483604,"real_id":-2147483604,"message_type":"private","sender":{"user_id":*******,"nickname":"","card":""},"raw_message":"1","font":14,"sub_type":"group","message":[{"data":{"text":"1"},"type":"text"}],"message_format":"array","post_type":"message"}

补充信息

加为好友后正常接收

获取合并转发消息内容报错

问题描述

如题
以下网络日志已手动脱敏

复现

发送一条合并转发消息

Overflow 版本

2.16.0-eb376cc-SNAPSHOT

其他组件版本

Lagrange.Core 0.0.1-alpha (commit c94c093)
mirai-core 2.16.0

系统日志

2024-01-27 10:29:26 W/stderr: Exception in thread "DefaultDispatcher-worker-8" java.lang.NullPointerException
2024-01-27 10:29:26 W/stderr: 	at cn.evole.onebot.sdk.util.json.ForwardMsgAdapter.deserialize(ForwardMsgAdapter.java:17)
2024-01-27 10:29:26 W/stderr: 	at cn.evole.onebot.sdk.util.json.ForwardMsgAdapter.deserialize(ForwardMsgAdapter.java:11)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1227)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1137)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1047)
2024-01-27 10:29:26 W/stderr: 	at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1014)
2024-01-27 10:29:26 W/stderr: 	at cn.evole.onebot.sdk.util.json.GsonUtil.fromJson(GsonUtil.java:83)
2024-01-27 10:29:26 W/stderr: 	at cn.evolvefield.onebot.client.core.Bot.getForwardMsg(Bot.kt:1122)
2024-01-27 10:29:26 W/stderr: 	at cn.evolvefield.onebot.client.core.Bot$getForwardMsg$1.invokeSuspend(Bot.kt)
2024-01-27 10:29:26 W/stderr: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
2024-01-27 10:29:26 W/stderr: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
2024-01-27 10:29:26 W/stderr: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2024-01-27 10:29:26 W/stderr: 	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [CoroutineName(overflow), StandaoneCoroutine{Cancelling}@90a7c14, Dispatchers.Default]

网络日志

2024-01-27 10:29:25 D/Onebot: Send to server --> {"action":"get_forward_msg","params":{"id":"JVlHmW********SriI+h"},"echo":8}
2024-01-27 10:29:26 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":{"message":[{"type":"node","data":{"user_id":132*****44,"nickname":"","content":[{"type":"text","data":{"text":"[GitHub WebHook]\n| New Commit to repo BakaBotTeam/lgz-bot\n| Author: Guimc ([email protected])\n| Branch: refs/heads/master\n| ++0 --0 **1\n| Commit Message: support image send for ACGCommand by using OverflowAPI\n| Details: https://github.com/BakaBotTeam/lgz-bot/commit/f01bfc148a19c4c6956c10610499b99fcacfe962"}}]}},{"type":"node","data":{"user_id":132*****44,"nickname":"","content":[{"type":"text","data":{"text":"[GitHub WebHook]\n| New Commit to repo BakaBotTeam/lgz-bot\n| Author: Guimc ([email protected])\n| Branch: refs/heads/master\n| ++0 --0 **1\n| Commit Message: add license\n| Details: https://github.com/BakaBotTeam/lgz-bot/commit/22b1412224a6b427442432d4225cada8b2da276a"}}]}}]},"echo":8}

补充信息

No response

无法发送合并转发消息

问题描述

发送合并转发消息 显示 该消息暂不支持查看

复现

发送合并转发消息

Overflow 版本

v2.16.0-2cf7991-SNAPSHOT

其他组件版本

Lagrange.OneBot v0.0.3

系统日志

No response

网络日志

2024-03-23 14:16:09 D/Onebot: Send to server --> {"action":"send_forward_msg","params":{"messages":[{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Hypixel 玩家数据:\n玩家名: [VIP+]ShabbyGuimc\n等级: 15.51\nKarma: 34855\n玩家使用语言: CHINESE_SIMPLIFIED\n首次登入: 2022-03-17T09:46:42.224\n上次登入: 无法获取\n上次登出: 无法获取\n最近常玩: Null当前状态: 离线"}}]},"time":1711174568},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Bedwars 信息:\n等级: 2.06\n硬币: 5240\n毁床数: 2\n总游戏数: 8\n胜利/失败: 1/7 WLR: 0.14\n击杀/死亡: 29/11 KDR: 2.64\n最终击杀数: 7"}}]},"time":1711174569},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Skywars 信息:\n等级: 1.0\n硬币: 216229\n灵魂数量: 17\n总游戏数: 492\n胜利/失败: 28/463 WLR: 0.06\n击杀/助攻/死亡: 374/33/463 KDR: 0.81\n\n共计:\n共有 18 个 Heads, 放置了 5870 个方块, 打开了 1009 个箱子"}}]},"time":1711174570},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Duels 信息:\n硬币: 28576\n总游戏数: 340\n胜利/失败: 145/195 WLR: 0.74\n击杀/死亡: 139/191 KDR: 0.73\n近战命中: 0.35\n弓箭命中: 0.28\n\n共计:\n造成了 5515 伤害, 恢复了 794 血量"}}]},"time":1711174571},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Mega Walls 信息:\n硬币: 285\n胜利/失败: 0/0 WLR: 0.0\n击杀/助攻/死亡: 0/0/0 KDR: 0.0\nFinal Kill/Death: 0/0\n\n共计:\n造成了 0 伤害, 共有 5 个 Packages"}}]},"time":1711174572},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"街机游戏 信息:\n硬币: 148622\n\n以下为街机游戏:"}}]},"time":1711174573},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Mini Walls:\n胜利: 0\n击杀/死亡: 0/0 KDR: 0.0\n最终击杀: 0\n凋零击杀数: 0\n弓箭命中率: 0.0"}}]},"time":1711174574},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"派对游戏 胜场: 0"}}]},"time":1711174575},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"僵尸末日: \n最高坚持了 30 轮\n死亡次数: 29\n命中头部率: 0.3\n打开门数量: 32\n救起其他玩家次数: 24"}}]},"time":1711174576},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"以上为街机游戏"}}]},"time":1711174577},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"Skyblock信息: https://sky.shiiyu.moe/stats/ShabbyGuimc"}}]},"time":1711174578},{"type":"node","data":{"name":"洛***********a","uin":"1*********4","content":[{"type":"text","data":{"text":"本数据仅供参考"}}]},"time":1711174579}]},"echo":21}
2024-03-23 14:16:09 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":"FnrMFxYcgHyVXUn0Qh6pe7oMkjdOadmGsRNPsWyFoQz0NSMYWYIPALOcY43rCK5a","echo":21}
2024-03-23 14:16:09 D/Onebot: Send to server --> {"action":"send_group_msg","params":{"group_id":3********3,"message":[],"auto_escape":false},"echo":22}
2024-03-23 14:16:10 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":{"message_id":1400979366},"echo":22}

补充信息

No response

好友列表拉取为空

问题描述

拉取好友列表的时候会返回空列表
image

复现

使用 Ariadne 连接 overflow,onebot后端为拉格兰

Overflow 版本

overflow-core-all-2.16.0-6aaea6d-SNAPSHOT-all

其他组件版本

拉格兰 LagrangeDev/Lagrange.Core@baaeaf9
mirai-api-http-2.10.0.mirai2

系统日志

2024-05-30 23:41:54 I/main: Starting mirai-console...
2024-05-30 23:41:54 I/main: 

===================================[ Mirai console 2.16.0 ]===================================
 __       __ __                   __  ______                                      __
|  \     /  \  \                 |  \/      \                                    |  \
| ▓▓\   /  ▓▓\▓▓ ______   ______  \▓▓  ▓▓▓▓▓▓\ ______  _______   _______  ______ | ▓▓ ______
| ▓▓▓\ /  ▓▓▓  \/      \ |      \|  \ ▓▓   \▓▓/      \|       \ /       \/      \| ▓▓/      \
| ▓▓▓▓\  ▓▓▓▓ ▓▓  ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓ ▓▓     |  ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\  ▓▓▓▓▓▓▓  ▓▓▓▓▓▓\ ▓▓  ▓▓▓▓▓▓\
| ▓▓\▓▓ ▓▓ ▓▓ ▓▓ ▓▓   \▓▓/      ▓▓ ▓▓ ▓▓   __| ▓▓  | ▓▓ ▓▓  | ▓▓\▓▓    \| ▓▓  | ▓▓ ▓▓ ▓▓    ▓▓
| ▓▓ \▓▓▓| ▓▓ ▓▓ ▓▓     |  ▓▓▓▓▓▓▓ ▓▓ ▓▓__/  \ ▓▓__/ ▓▓ ▓▓  | ▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ ▓▓ ▓▓▓▓▓▓▓▓
| ▓▓  \▓ | ▓▓ ▓▓ ▓▓      \▓▓    ▓▓ ▓▓\▓▓    ▓▓\▓▓    ▓▓ ▓▓  | ▓▓       ▓▓\▓▓    ▓▓ ▓▓\▓▓     \
 \▓▓      \▓▓\▓▓\▓▓       \▓▓▓▓▓▓▓\▓▓ \▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓   \▓▓\▓▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓ \▓▓▓▓▓▓▓


2024-05-30 23:41:54 I/main: Backend: version 2.16.0, built on 2023-10-20 06:28:10.
2024-05-30 23:41:54 I/main: Frontend Terminal: version 2.16.0, provided by Mamoe Technologies
2024-05-30 23:41:54 I/main: Welcome to visit https://mirai.mamoe.net/
2024-05-30 23:41:55 I/plugin: Successfully loaded plugin mirai-api-http v2.10.0
2024-05-30 23:41:55 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop
2024-05-30 23:41:55 I/Mirai HTTP API: ********************************************************
2024-05-30 23:41:55 I/MahKtorAdapter[http,ws]: Autoreload is disabled because the development mode is off.
2024-05-30 23:41:55 I/MahKtorAdapter[http,ws]: Application started in 0.15 seconds.
2024-05-30 23:41:55 I/MahKtorAdapter[http,ws]: Responding at http://localhost:8066
2024-05-30 23:41:55 I/http adapter: >>> [http adapter] is listening at http://localhost:8066
2024-05-30 23:41:55 I/ws adapter: >>> [ws adapter] is listening at ws://localhost:8066
2024-05-30 23:41:55 I/Mirai HTTP API: Http api server is running with verifyKey: xxxxxxxxxx
2024-05-30 23:41:55 I/Mirai HTTP API: adaptors: [http,ws]
2024-05-30 23:41:55 I/Mirai HTTP API: ********************************************************
2024-05-30 23:41:55 I/main: 3 plugin(s) enabled.
2024-05-30 23:41:55 I/main: mirai-console started successfully.
2024-05-30 23:41:55 I/Onebot: Overflow v2.16.0-6aaea6d-SNAPSHOT.1 正在运行
2024-05-30 23:41:55 I/Onebot: 在端口 5140 开启反向 WebSocket 服务端
2024-05-30 23:41:55 I/Onebot: ▌ 反向 WebSocket 服务端已在 0.0.0.0/0.0.0.0:5140 启动
2024-05-30 23:41:55 I/Onebot: ▌ 正在等待客户端连接...
2024-05-30 23:42:00 I/Onebot: ▌ 反向 WebSocket 客户端 /127.0.0.1:53246 已连接 ┈━═☆
2024-05-30 23:42:00 I/Onebot: 服务端版本信息
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "app_name": "Lagrange.OneBot",
    "app_version": "0.0.3",
    "protocol_version": "v11",
    "nt_protocol": "Linux | 3.1.2-13107"
  },
  "echo": 0
}
2024-05-30 23:42:01 V/Bot.2353538071: Event: BotOnlineEvent(bot=Bot(2353538071))
2024-05-30 23:42:04 V/Bot.2353538071: [明日方舟 喵!(569212977)] 蜘蛛(集成战略『萨卡兹的无终奇语』等待中(1648313112) -> [mirai:quote:[mirai:source:ids=[731621297], internalIds=[731621297], from 2013640404 to 0 at 1717083559], content=] 那叫12章[mirai:at:2013640404] 
2024-05-30 23:42:06 V/Bot.2353538071: [这是小说群!(423737545)] 伟大之克苏鲁(1767002755) -> 晚安
2024-05-30 23:42:07 V/Bot.2353538071: [启普发生器喵(835791702)] 骄阳之影(1833309138) -> [mirai:marketface:0,]
2024-05-30 23:42:08 V/Bot.2353538071: [zmg的罗德岛会议室(956640096)] 转如型成如功女如权跳如蛋(1255419047) -> 直接死磕声骸出皮肤
2024-05-30 23:42:08 V/Bot.2353538071: [启普发生器喵(835791702)] 骄阳之影(1833309138) -> 我去
2024-05-30 23:42:12 I/Bot.2353538071: Bot cancelled: Job was cancelled

网络日志

No response

补充信息

2024-05-30.log

从openshamrock接收消息时报错

问题描述

从openshamrock接收消息时出现报错

复现

向bot发送任意消息

Overflow 版本

v2.16.0-bbce014-SNAPSHOT

其他组件版本

OpenShamrock v1.0.9.r429.2db187e
mirai-console v2.16.0

系统日志

2024-05-18 13:34:03 W/stderr: Exception in thread "DefaultDispatcher-worker-6" java.lang.NullPointerException: this[key] must not be null
2024-05-18 13:34:03 W/stderr:   at cn.evolvefield.onebot.sdk.util.json.MessageEventAdapter.groupMessage(MessageEventAdapter.kt:83)
2024-05-18 13:34:03 W/stderr:   at cn.evolvefield.onebot.sdk.util.json.MessageEventAdapter.deserialize(MessageEventAdapter.kt:26)
2024-05-18 13:34:03 W/stderr:   at cn.evolvefield.onebot.sdk.util.json.MessageEventAdapter.deserialize(MessageEventAdapter.kt:16)
2024-05-18 13:34:03 W/stderr:   at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76)
2024-05-18 13:34:03 W/stderr:   at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1227)
2024-05-18 13:34:03 W/stderr:   at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1137)
2024-05-18 13:34:03 W/stderr:   at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1047)
2024-05-18 13:34:03 W/stderr:   at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:982)
2024-05-18 13:34:03 W/stderr:   at cn.evolvefield.onebot.client.handler.EventBus.onReceive(EventBus.kt:51)
2024-05-18 13:34:03 W/stderr:   at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1.invokeSuspend(IAdapter.kt:31)
2024-05-18 13:34:03 W/stderr:   at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-05-18 13:34:03 W/stderr:   at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2024-05-18 13:34:03 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
2024-05-18 13:34:03 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
2024-05-18 13:34:03 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
2024-05-18 13:34:03 W/stderr:   at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2024-05-18 13:34:03 W/stderr:   Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [CoroutineName(overflow), StandaloneCoro
utine{Cancelling}@72301df0, Dispatchers.Default]

网络日志

No response

补充信息

No response

通过mirai-api-http接收消息失败

使用OpenShamrock + Overflow + mirai-api-http,发现虽然Overflow中能正常看到接收到的消息(以下截图中隐去了接收到的消息,位于报错消息之前),但是报了以下错误,并且通过mirai-api-http与Overflow相连的程序未能正确做出响应(正常情况下会回复一条消息)

image

新版本在重启后,必须接受一次来自目标群/好友的信息才能正常发送

问题描述

旧版本 - 手动Build于 4月14的 Commit 15d7634

35862683a72ad151885fe451f688b600

当前最新版 Commit d53033f

bbf6aadbc1dbd1e8fe37c413e1ac306e

复现

使用旧版,连上LLOneBot后直接给好友发信息 -> 成功 (Build 2024-04-14)
使用新版,连上LLOneBot后给直接好友发信息 -> 提示找不到好友 -> 主动发送一次信息给Bot -> 再次Bot再次尝试发送 -> 成功

Overflow 版本

d53033f

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

No response

反向WebSocket异常断开

问题描述

使用OpenShamrock的反向WebSocket连接Overflow,会出现突然断开且两边均无异常报错的情况,过一会又会自动连上

复现

一开始Overflow可以正常连接OpenShamrock,可以正常收发消息,然后突然就断开了,过一会又突然自己连上了

不知道该怎么复现,但已经遇到三回了,平均一天一回吧

Overflow 版本

1bf69de

其他组件版本

OpenShamrock 1.0.7.r204.34eccda

系统日志

2023-12-20 18:47:06 W/Onebot: Request failed: [send_group_msg, echo=345] Timed out waiting for 10000 ms
2023-12-20 18:48:12 I/Onebot: ▌ 反向 WebSocket 客户端连接因 The connection was closed because the other endpoint did not respond with a pong in time. For more information check: https://github.com/TooTallNate/Java-WebSocket/wiki/Lost-connection-detection 已关闭

【中间省略了大量由mirai-api-http主动发出的消息,虽然`logs`里的日志有这些发送记录,但是`logs/onebot`下的日志并没有这些发送记录,OpenShamrock端也并没有收到】

2023-12-20 20:17:58 I/Onebot: ▌ 反向 WebSocket 客户端 /********:**** 已连接 ┈━═☆

网络日志

No response

补充信息

附上OpenShamrock端的日志

屏幕截图 2023-12-20 202320

【中间省略了一些OpenShamrock自身接收到的QQ消息,非Overflow发送过去的】

6bdbac093ac9e79b95ee42046f85aa2f

在OneBot实现端使用QC码时机器人不回复

问题描述

使用openShamrock对接并启用QC码格式,机器人不处理全局指令
带/时回复正常
2024-01-24 08:32:25 V/Bot.2584574762: [季落秋风 - Minecraft(806915610)] 服主-梓不过是枫(2039475150) -> "/wifeyouwant" 2024-01-24 08:32:25 V/Bot.2584574762: Group(806915610) <- 变态渣男插件 - 帮助 /wuw reload - 重载配置文件
不带/的全局指令不处理
2024-01-24 08:32:34 V/Bot.2584574762: [季落秋风 - Minecraft(806915610)] 服主-梓不过是枫(2039475150) -> "抽老婆"

复现

使用openShamrock对接并启用QC码

Overflow 版本

2.16.0-19e495b

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

No response

被动 WebSocket 时服务端不响应用户发出的指令信息

问题描述

被动 WebSocket 时 bot 貌似无法接收来自聊天中的指令。试过两个基于 MiraiConsole 的插件都不行,对来自 QQ 信息发出的指令完全无响应,而基于 MCL 的 mirai 是可用的。所以推测可能是 Overflow 的问题,不知到主动 WebSocket 是否也有此问题。

复现

最开始的测试插件为 JNRBilibiliDynamic MiraiPlugin

客户端服务端通讯一切正常,服务端可以使用 /overflow friend 命令发送消息,也能接收到客户端发来的私聊指令消息,但是不会对指令做出任何反应。

最后尝试了一下直接用 /permission add <QQ 号> * 命令赋予用户全部指令权限,用户打出 /help 仍无反应。

无标题

Overflow 版本

795845b

其他组件版本

在 Windows Server 2019 (17763.1339) 使用 mumu 模拟器 v3.7.10QQ v8.9.80.12440Kitsune Magisk R65C33E4FLSPosed-v1.9.2-7024-zygisk-releaseShamrock-v1.0.8.r317.63ce2d4-all 搭建客户端;在 Ubuntu 20.04.6 LTS 使用 overflow-2.16.0-795845b-SNAPSHOT 整合包搭建服务端。

系统日志

没有任何相关报错,推测 overflow 没有正确将消息传递给 mirai?

网络日志

No response

补充信息

No response

使用 BiliBili Dynamic 插件报错

问题描述

2024-02-22 18:13:47 W/Bot.*: An exception occurred when processing event. Subscriber scope: 'ListenerTasker'. Broadcaster scope: 'Bot.*.EventDispatcher'
top.mrxiaom.overflow.internal.deps.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 1708595825859 at line 1 column 62 path $.data.message_id
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:251)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:241)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1227)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1137)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1047)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1014)
        at cn.evole.onebot.sdk.util.json.GsonUtil.fromJson(GsonUtil.java:83)
        at cn.evolvefield.onebot.client.core.Bot.sendGroupMsg(Bot.kt:114)
        at cn.evolvefield.onebot.client.core.Bot$sendGroupMsg$1.invokeSuspend(Bot.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.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)
Caused by: java.lang.NumberFormatException: Expected an int but was 1708595825859 at line 1 column 62 path $.data.message_id
        at top.mrxiaom.overflow.internal.deps.gson.stream.JsonReader.nextInt(JsonReader.java:1186)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:249)
        ... 23 more

复现

进行解析视频操作就会触发

Overflow 版本

700df26

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

No response

目前如何使用mirai码构造Image图片

问题描述

搭的是Overflow+LLOnebot,原先使用mirai核心时,存储了很多图片的mirai 码在数据库,同时也保存在服务器本地,存储为形如mirai:image:{01E9451B-70ED-EAE3-B37C-101F1EEBF5B5}.格式],通过一些特定的指令可以让bot把这些图片发出来,但是今天换成Overflow之后,从数据库查出mirai 码通过
MiraiCode.deserializeMiraiCode(miraiCode)形成消息链再发送,得到日志:
image

LLOnebot日志:

4/5/2024, 11:22:50 AM 昵称(*********): 发生错误 uri {C0CB1A95-B0BF-F2D0-DB70-432E0D608E15}.jpg 解析失败,TypeError [ERR_INVALID_URL]: Invalid URL 可能{C0CB1A95-B0BF-F2D0-DB70-432E0D608E15}.jpg不存在
4/5/2024, 11:22:50 AM 昵称(*********): ws 消息上报  {"status":"failed","retcode":1200,"data":null,"message":"uri {C0CB1A95-B0BF-F2D0-DB70-432E0D608E15}.jpg 解析失败,TypeError [ERR_INVALID_URL]: Invalid URL 可能{C0CB1A95-B0BF-F2D0-DB70-432E0D608E15}.jpg不存在","wording":"uri {C0CB1A95-B0BF-F2D0-DB70-432E0D608E15}.jpg 解析失败,TypeError [ERR_INVALID_URL]: Invalid URL 可能{C0CB1A95-B0BF-F2D0-DB70-432E0D608E15}.jpg不存在","echo":10} 

似乎图片资源的管理被交给了Onebot端?但是我接了一个语音服务也是把文件生成在Overflow这一端的插件资源目录的,可以正常发出。
最后日志显示回复消息的码值为overflow开头也有点疑惑,因为活人用户主动发送图片到群里时,日志接收到的仍然是mirai开头的,但是id部分好像变成了下载地址而不是编码了。

复现

同上

Overflow 版本

febc5da

其他组件版本

mirai-console 2.16.0
LLOneBot 3.20.6

系统日志

No response

网络日志

No response

补充信息

No response

Overflow最新版使用Lagrange无法获取消息,@以及合并转发

问题描述

overflow-2.16.0-3ecc323,在Lagrange 602c67a 中能收到消息,但是在overflow日志中没有出现消息,退回d59ef26后正常,使用命令可主动发送消息。以及合并消息,消息包含@时发送日志显示W/Onebot: Request failed: [send_group_forward_msg, echo=33] , retCode=404

复现

使用overflow-2.16.0-3ecc323与Lagrange
发送包含@群友的消息,以及合并转发消息

Overflow 版本

3ecc323

其他组件版本

Lagrange602c67a

系统日志

3ecc323版本收不到消息在overflow侧没有日志
发送包含@群友的消息
2024-02-27 15:53:29 W/Onebot: Request failed: [send_group_msg, echo=5] , retCode=200
2024-02-27 15:53:29 V/Bot.*: Group(*) <- [mirai:at:*] 
这里是消息内容
2024-02-27 15:53:32 V/Bot.*: Group(*) <- [overflow:image,url=base64:///9j/4AAQSkZJRgABA*AD/4QAi... (about 203.00 KB),isEmoji=false]
图片的内容正常发送

合并转发消息
2024-02-27 15:55:51 W/Onebot: Request failed: [send_group_forward_msg, echo=10] , retCode=404
2024-02-27 15:55:51 V/Bot.*: Group(*) <- ForwardMessage(preview=[], title=*, brief=[*], source=*, summary=*, nodeList=[])

网络日志

No response

补充信息

No response

[建议]对Lagrange合并转发提供支持

已使用最新版Overflow,连接Lagrange,无法发送合并转发消息(node)。
自己研究了下发现了问题,拉格兰发送转发消息的时候,“uin”的值为qq号的字符串型,如果正常传入整数型会导致拉格兰报错并且无法发送。
是否考虑增加一个配置项以适配合并转发?

data Type问题

问题描述

在linux x84 Debian系统上使用Lagrange作为onebot服务时使用mirai的mirai mcmod插件获取模组列表时发生数据类型错误的问题。

复现

  1. 使用最新版的overflow与lagrange
  2. 使用linux服务器(之前在windows服务器时未遇到类似问题,不清楚原因)
  3. 使用该插件https://github.com/limbang/mirai-console-mcmod-plugin.
  4. 使用功能mod 随机模组

Overflow 版本

f37b538

其他组件版本

mirai-console-mcmod-plugin-2.0.10.mirai2.jar
Lagrange.OneBot_linux-x64_8.0

系统日志

2024-05-10 21:03:54 E/Mcmod: Exception in coroutine Plugin top.limbang.mcmod of Mcmod
top.mrxiaom.overflow.internal.deps.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected STRING but was BEGIN_OBJECT at path $.data
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:397)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1227)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1329)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1300)
        at cn.evolvefield.onebot.client.core.Bot.sendGroupForwardMsgLagrange(Bot.kt:1498)
        at cn.evolvefield.onebot.client.core.Bot$sendGroupForwardMsgLagrange$1.invokeSuspend(Bot.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.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)
Caused by: java.lang.IllegalStateException: Expected STRING but was BEGIN_OBJECT at path $.data
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.JsonTreeReader.nextString(JsonTreeReader.java:187)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:421)        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:409)        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
        ... 14 more

网络日志

No response

补充信息

No response

ForwardMessage 未正常获取

问题描述

如题

复现

发送合并转发消息

Overflow 版本

2.16.0-54118c1-SNAPSHOT

其他组件版本

Lagrange.Core 0.0.1-alpha (commit c94c093)
mirai-core 2.16.0

系统日志

2024-01-27 15:08:55 V/Bot.1******4: [F******成(8******3)] 笙******d(3******8) -> ForwardMessage(preview=[QQ用户: "message", QQ用户: "message", QQ用户: "message", QQ用户: "message"], title=群聊的聊天记录, brief=[聊天记录], source=聊天记录, summary=查看4条转发消息, nodeList=[Node(senderId=0, time=0, senderName=QQ用户, messageChain="message"), Node(senderId=0, time=0, senderName=QQ用户, messageChain="message"), Node(senderId=0, time=0, senderName=QQ用户, messageChain="message"), Node(senderId=0, time=0, senderName=QQ用户, messageChain="message")])

网络日志

2024-01-27 15:08:55 D/Onebot: Send to server --> {"action":"get_forward_msg","params":{"id":"T7nmr****************************KOmlfTzTXG5PU"},"echo":18}
2024-01-27 15:08:55 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":{"message":[{"type":"node","data":{"user_id":1******20,"nickname":"","content":[{"type":"text","data":{"text":"Nati*******"}}]}},{"type":"node","data":{"user_id":1******20,"nickname":"","content":[{"type":"text","data":{"text":"gm*******"}}]}},{"type":"node","data":{"user_id":1******20,"nickname":"","content":[{"type":"image","data":{"file":"http://gchat.qpic.cn/offpic_new/1******20/58********6.jpg/0?term=255&is_origin=0"}}]}},{"type":"node","data":{"user_id":1******20,"nickname":"","content":[{"type":"image","data":{"file":"http://gchat.qpic.cn/offpic_new/1******20/8D85********BA6920.jpg/0?term=255&is_origin=0"}}]}}]},"echo":18}

补充信息

No response

无回复

问题描述

在QQ群@机器人,带上/help或者help,以及私聊后,除了接收到qq发送过来的消息日志,无任何反应,例如发送help列表,ws接的是LLOneBot,以前用mirai是不会这样的,不知道什么原因,权限也给了

复现

如上

Overflow 版本

6aaea6d-SNAPSHOT

其他组件版本

mirai-console:2.16.0
LLOneBot:v3.26.4

系统日志

2024-05-31 09:53:10 V/Bot.: [Dragon Star] DSLZL -> [mirai:at:] /help
就这样,没有后续,使用其他插件的命令也一样

网络日志

No response

补充信息

No response

`69f24b2`之后无法正常启动

问题描述

Overflow更新到69f24b2之后就无法正常启动

复现

使用MCLOverflow以最新的69f24b2版本启动

Overflow 版本

69f24b2

其他组件版本

Libs目录:

├── bcprov-jdk15on-1.64.jar
├── bcprov-jdk15on-1.64.jar.sha1
├── mirai-console-2.16.0-all.jar
├── mirai-console-2.16.0-all.jar.sha1
├── mirai-console-terminal-2.16.0-all.jar
├── mirai-console-terminal-2.16.0-all.jar.sha1
├── overflow-core-all-2.16.0-69f24b2-SNAPSHOT-all.jar
└── overflow-core-all-2.16.0-69f24b2-SNAPSHOT-all.jar.sha1

Onebot实现:
Lagrange.Onebot 7fa1d6a

MCLOverflow版本:
snapshots-repo dacb7ee

系统日志

整个启动过程会产生2MB的输出后退出,打包后将放置于补充信息

网络日志

于连接onebot之前就已退出,未产生网络日志

补充信息

最后一个可以正常使用的commit为1c9ef44,因此初步判断为69f24b2的问题
overflow_error_log.zip

最新构建启动报错

问题描述

使用最新构建时启动时报错
2024-01-24 08:25:56 E/mirai-hibernate-plugin: org.hibernate.MappingException: entity class not found: xyz.cssxsh.mirai.hibernate.entry.FaceRecord org.hibernate.MappingException: entity class not found: xyz.cssxsh.mirai.hibernate.entry.FaceRecord at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:171) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.BinderHelper.getPropertyOverriddenByMapperOrMapsId(BinderHelper.java:873) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.PropertyBinder.bindBasic(PropertyBinder.java:1016) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.PropertyBinder.bindProperty(PropertyBinder.java:890) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.PropertyBinder.buildProperty(PropertyBinder.java:788) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.PropertyBinder.processElementAnnotations(PropertyBinder.java:709) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.EntityBinder.processIdPropertiesIfNotAlready(EntityBinder.java:1026) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.EntityBinder.handleIdentifier(EntityBinder.java:354) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.EntityBinder.bindEntityClass(EntityBinder.java:234) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.internal.AnnotationBinder.bindClass(AnnotationBinder.java:423) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:256) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:279) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:322) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:129) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:449) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:101) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:910) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:960) at mirai-hibernate-plugin-2.8.0.mirai2.jar//xyz.cssxsh.mirai.hibernate.MiraiHibernatePlugin.onEnable(MiraiHibernatePlugin.kt:58) at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:244) at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:393) at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:40) at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt) at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:54) at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:173) at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:193) at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:360) at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:512) at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:182) at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:181) at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:59) Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [xyz.cssxsh.mirai.hibernate.entry.FaceRecord] at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:126) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.internal.ClassLoaderAccessImpl.classForName(ClassLoaderAccessImpl.java:67) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:166) ... 30 more Caused by: java.lang.ExceptionInInitializerError at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Unknown Source) at mirai-hibernate-plugin-2.8.0.mirai2.jar[shared]//org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:123) ... 32 more Caused by: java.lang.IllegalArgumentException: Serializer for PttMessage can't be registered as a subclass for polymorphic serialization because its kind OPEN is not concrete. To work with multiple hierarchies, register it as a base class. at kotlinx.serialization.json.internal.PolymorphismValidator.checkKind(PolymorphismValidator.kt:41) at kotlinx.serialization.json.internal.PolymorphismValidator.polymorphic(PolymorphismValidator.kt:31) at kotlinx.serialization.modules.SerialModuleImpl.dumpTo(SerializersModule.kt:189) at kotlinx.serialization.json.JsonImpl.validateConfiguration(Json.kt:375) at kotlinx.serialization.json.JsonImpl.<init>(Json.kt:369) at kotlinx.serialization.json.JsonKt.Json(Json.kt:191) at kotlinx.serialization.json.JsonKt.Json$default(Json.kt:187) at mirai-hibernate-plugin-2.8.0.mirai2.jar//xyz.cssxsh.mirai.hibernate.entry.FaceRecord.<clinit>(FaceRecord.kt:66) ... 35 more

复现

添加mirai-hibernate-plugin-2.8.0.mirai2插件,启动报错

Overflow 版本

2.16.0-19e495b

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

No response

关于日志输出等级配置

config/Console/Logger.yml配置如下时:

# 默认日志输出等级
# 可选值: ALL, VERBOSE, DEBUG, INFO, WARNING, ERROR, NONE
defaultPriority: INFO
# 特定日志记录器输出等级
loggers: 
  example.logger: NONE
  console.debug: NONE
  Bot: WARNING
  org.eclipse.aether.internal: INFO
  org.apache.http.wire: INFO
# 是否启动外部日志框架桥接
binding: 
  slf4j: true

logs/onebot/下的日志仍会记录V/Onebot,而其中D/Onebot包括了全部收发消息
bots/【qq号】/logs下的日志仍会记录V/Bot,包括了全部收发消息

不知这两处日志的输出等级是否能配置?

使用./mcl -u更新到最新的overflow core后,连接到websocket时报错

问题描述

使用./mcl -u更新到最新的overflow core后,连接到websocket时报错
Onebot端使用的是Lagrange,已配置了正向ws连接
并且已经在Overflow的 overflow.json 中配置了反向ws连接地址
报错日志:

2024-06-21 21:37:21 I/main: 8 plugin(s) enabled.

如需关闭控制台,请按下 Ctrl+C 组合键,或使用命令 /stop 来关闭。强制结束进程/关闭窗口可能会导致数据丢失

2024-06-21 21:37:21 I/Onebot: Overflow v2.16.0-2446d3f-SNAPSHOT.1 正在运行
2024-06-21 21:37:21 I/Onebot: 连接到 WebSocket: ws://127.0.0.1:8083
2024-06-21 21:37:21 E/main: Exception in coroutine MiraiConsoleImplementationTerminal
java.lang.IllegalStateException: Current context doesn't contain Job in it: CoroutineName(overflow)
        at kotlinx.coroutines.JobKt__JobKt.getJob(Job.kt:630)
        at kotlinx.coroutines.JobKt.getJob(Unknown Source)
        at top.mrxiaom.overflow.internal.Overflow.start0(Overflow.kt:214)
        at top.mrxiaom.overflow.internal.Overflow.startWithConfig(Overflow.kt:183)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin.startWithConfig$overflow_core(OverflowCoreAsPlugin.kt:291)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin.startWithConfig$overflow_core$default(OverflowCoreAsPlugin.kt:290)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin.onPostStartup(OverflowCoreAsPlugin.kt:287)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin.access$onPostStartup(OverflowCoreAsPlugin.kt:45)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin$onEnable$1.invokeSuspend(OverflowCoreAsPlugin.kt:76)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin$onEnable$1.invoke(OverflowCoreAsPlugin.kt)
        at top.mrxiaom.overflow.internal.plugin.OverflowCoreAsPlugin$onEnable$1.invoke(OverflowCoreAsPlugin.kt)
        at net.mamoe.mirai.event.EventChannel$subscribeOnce$1.invokeSuspend(EventChannel.kt:515)
        at net.mamoe.mirai.event.EventChannel$subscribeOnce$1.invoke(EventChannel.kt)
        at net.mamoe.mirai.event.EventChannel$subscribeOnce$1.invoke(EventChannel.kt)
        at net.mamoe.mirai.internal.event.SafeListener$onEvent$2.invokeSuspend(SafeListener.kt:59)
        at net.mamoe.mirai.internal.event.SafeListener$onEvent$2.invoke(SafeListener.kt)
        at net.mamoe.mirai.internal.event.SafeListener$onEvent$2.invoke(SafeListener.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
        at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
        at net.mamoe.mirai.internal.event.SafeListener.onEvent(SafeListener.kt:59)
        at net.mamoe.mirai.internal.event.EventListeners.process(EventListeners.kt:113)
        at net.mamoe.mirai.internal.event.EventListeners.callListeners$overflow_core(EventListeners.kt:67)
        at net.mamoe.mirai.internal.event.EventChannelImpl.callListeners(EventChannelImpl.kt:86)
        at net.mamoe.mirai.internal.event.EventChannelImpl.broadcastEventImpl(EventChannelImpl.kt:76)
        at top.mrxiaom.overflow.internal.Overflow.broadcastEvent(Overflow.kt:336)
        at net.mamoe.mirai.event.EventKt.broadcast(Event.kt:161)
        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge$doStart$13$1.invokeSuspend(MiraiConsoleImplementationBridge.kt:457)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        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)

2024-06-21 21:37:22 I/main: mirai-console started successfully.

oveflow.json内容:

{
    "ws_host": "ws://127.0.0.1:8083",
    "reversed_ws_port": -1,
    "token": "",
    "no_platform": false,
    "retry_times": 5,
    "retry_wait_mills": 5000,
    "retry_rest_mills": 60000
}

复现

  1. 使用 ./mcl -u 更新到最新的overflow core
  2. 连接到一个正向ws服务
  3. 报错

Overflow 版本

2446d3f

其他组件版本

mirai-console版本 2.16.0
Lagrange版本 nightly-release

系统日志

No response

网络日志

No response

补充信息

No response

与Gensokyo-kook 配合问题

问题描述

非常抱歉 我不知道我可以去哪里提问相关问题 所以我来到这里开issues

我在使用overflow的时候想到是使用onebot11并且Gensokyo-kook 同样使用onebot11 所以我尝试进行了部署
但是部署的时候我遇到了一些问题 所以来到这里发issues

我不清楚问题如何解决 我已经尝试了我所能尝试的解决办法 实在没办法出此下策

复现

1,部署overflow以及Gensokyo-kook
2,配置
3,启动

Overflow 版本

v2.16.0-c49aec1

其他组件版本

onebot11

系统日志

2024-05-12 13:18:12 I/Onebot: Overflow v2.16.0-c49aec1-SNAPSHOT.1 正在运行
2024-05-12 13:18:12 I/Onebot: 在端口 9999 开启反向 WebSocket 服务端
2024-05-12 13:18:13 I/Onebot: ▌ 反向 WebSocket 服务端已在 0.0.0.0/0.0.0.0:9999 启动
2024-05-12 13:18:13 I/Onebot: ▌ 正在等待客户端连接...
2024-05-12 13:18:17 I/Onebot: ▌ 反向 WebSocket 客户端 /127.0.0.1:53108 已连接 ┈━═☆
2024-05-12 13:18:17 I/Onebot: 服务端版本信息
{
  "data": {
    "app_full_name": "gensokyo-kook",
    "app_name": "gensokyo-kook",
    "app_version": "v1.0.0",
    "coolq_directory": "",
    "coolq_edition": "pro",
    "go-cqhttp": true,
    "plugin_build_configuration": "release",
    "plugin_build_number": 99,
    "plugin_version": "4.15.0",
    "protocol_name": 4,
    "protocol_version": "v11",
    "runtime_os": "windows",
    "runtime_version": "go1.20.2",
    "version": "v1.0.0"
  },
  "echo": 0,
  "message": "",
  "retcode": 0,
  "status": "ok"
}
2024-05-12 13:18:17 E/main: Exception in coroutine MiraiConsoleImplementationTerminal
top.mrxiaom.overflow.internal.deps.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "%!d(string=*********)"
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:333)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:323)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433
)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433
)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1227)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1329)
        at top.mrxiaom.overflow.internal.deps.gson.Gson.fromJson(Gson.java:1300)
        at cn.evolvefield.onebot.client.core.Bot.getLoginInfo(Bot.kt:1483)
        at cn.evolvefield.onebot.client.core.Bot$getLoginInfo$1.invokeSuspend(Bot.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.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)
Caused by: java.lang.NumberFormatException: For input string: "%!d(string=1040571434)"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
        at java.base/java.lang.Long.parseLong(Long.java:697)
        at java.base/java.lang.Long.parseLong(Long.java:836)
        at top.mrxiaom.overflow.internal.deps.gson.JsonPrimitive.getAsLong(JsonPrimitive.java:203)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.JsonTreeReader.nextLong(JsonTreeReader.java:236)
        at top.mrxiaom.overflow.internal.deps.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:331)
        ... 21 more

网络日志

No response

补充信息

No response

是否可以支持satori协议

支持Satori协议 这样可以不需要部署Lagrange或者OpenShamrock直接使用chronocat进行部署

这样的好处就是不需要用到签名 同时也不需要虚拟机 也可以在无头环境下运行

使用OneBot时获取Bot的所有群聊会返回一个空的ContactList

问题描述

Bot.getGroups()调用后会返回一个空的ContactList
只有在接收到群聊消息后Bot.getGroups()返回的列表中才会添加该群
网络日志中收到WebSocket消息get_group_list后会上报完整的Bot群列表, 但是只会返回一个空的ContactList
QQ截图20240527200102

复现

复现代码:
QQ截图20240527200518

Overflow 版本

d53033f

其他组件版本

Bot实现: LLOneBot v3.26.2

系统日志

2024-05-27 20:10:46 V/Bot.2128440478: Event: BotOnlineEvent(bot=Bot(2128440478))
[2024-05-27 20:10:46] [ProjectMisaka/DEBUG] start() called from BootStrap
[2024-05-27 20:10:46] [ProjectMisaka/INFO] Trying to log in bot 2128440478...
[2024-05-27 20:10:46] [ProjectMisaka/INFO] Bot g(2128440478) is logged in.
[2024-05-27 20:10:46] [ProjectMisaka/INFO] Subscribed GroupMessageEvent.
[2024-05-27 20:10:46] [ProjectMisaka/INFO] Launching Project Misaka....
[2024-05-27 20:10:46] [ProjectMisaka/INFO] Initializing....
[2024-05-27 20:10:46] [CommandManager/INFO] 11 commands found.
[2024-05-27 20:10:46] [ConsoleCommandManager/INFO] 4 console commands found.
[2024-05-27 20:10:46] [ConsoleCommandManager/INFO] [Command, Help, Perm, Quit]
[2024-05-27 20:10:46] [PermissionManager/INFO] 已加载 2 个用户的 23 条权限.
[2024-05-27 20:10:46] [ProjectMisaka/INFO] Finished.
[2024-05-27 20:10:46] [ProjectMisaka/DEBUG] ContactList()

网络日志

5/27/2024, 8:10:42 PM 2128440478(2128440478): self info {"uid":"u_fcwSngIPZP-oFBGt30HSSw","uin":"2128440478","nick":"2128440478","online":true,"account":"2128440478","mainAccount":"","nickName":"","gender":0,"age":0,"faceUrl":"","a2":"","d2":"","d2key":""} {"account":"2128440478","mainAccount":"","uin":"2128440478","uid":"u_fcwSngIPZP-oFBGt30HSSw","nickName":"","gender":0,"age":0,"faceUrl":"","a2":"","d2":"","d2key":""} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): llonebot pid 8128 

5/27/2024, 8:10:42 PM 2128440478(2128440478): LLOneBot start 

5/27/2024, 8:10:42 PM 2128440478(2128440478): nodeIKernelGroupService/getGroupList callback {"result":0,"errMsg":"success"} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): nodeIKernelProfileService/getUserDetailInfoWithBizInfo callback {"result":0,"errMsg":"success"} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"485868537","maxMember":200,"memberCount":101,"groupName":"窝囊废断头台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134338,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2163776,"authGroupType":0,"groupCreditLevel":4,"groupFlagExt3":1074798720,"groupOwnerId":{"memberUin":"0","memberUid":"u_1ndf-5J-jY2wkVw-4wnVSw"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"485868537","maxMember":200,"memberCount":101,"groupName":"窝囊废断头台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134338,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2163776,"authGroupType":0,"groupCreditLevel":4,"groupFlagExt3":1074798720,"groupOwnerId":{"memberUin":"0","memberUid":"u_1ndf-5J-jY2wkVw-4wnVSw"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 485868537 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"567962184","maxMember":200,"memberCount":56,"groupName":"Lollipop Client ♥ 交流群","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":590033,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"1633853286","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2162784,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":128,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"567962184","maxMember":200,"memberCount":56,"groupName":"Lollipop Client ♥ 交流群","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":590033,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"1633853286","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2162784,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":128,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"618769434","maxMember":200,"memberCount":2,"groupName":"IzumiKonata、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 567962184 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"618769434","maxMember":200,"memberCount":2,"groupName":"IzumiKonata、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 618769434 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"719670912","maxMember":200,"memberCount":17,"groupName":"窝囊废杀戮台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134336,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1075905600,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1152,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"719670912","maxMember":200,"memberCount":17,"groupName":"窝囊废杀戮台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134336,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1075905600,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1152,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 822359386 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"909166931","maxMember":200,"memberCount":4,"groupName":"IzumiKonata、we1l、eplor.wav、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 909166931 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"822359386","maxMember":200,"memberCount":54,"groupName":"高雅艺术复活5","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076298816,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1408,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"909166931","maxMember":200,"memberCount":4,"groupName":"IzumiKonata、we1l、eplor.wav、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"822359386","maxMember":200,"memberCount":54,"groupName":"高雅艺术复活5","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076298816,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1408,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 719670912 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"485868537","maxMember":200,"memberCount":101,"groupName":"窝囊废断头台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134338,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2163776,"authGroupType":0,"groupCreditLevel":4,"groupFlagExt3":1074798720,"groupOwnerId":{"memberUin":"0","memberUid":"u_1ndf-5J-jY2wkVw-4wnVSw"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"485868537","maxMember":200,"memberCount":101,"groupName":"窝囊废断头台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134338,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2163776,"authGroupType":0,"groupCreditLevel":4,"groupFlagExt3":1074798720,"groupOwnerId":{"memberUin":"0","memberUid":"u_1ndf-5J-jY2wkVw-4wnVSw"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 567962184 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 485868537 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"618769434","maxMember":200,"memberCount":2,"groupName":"IzumiKonata、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"618769434","maxMember":200,"memberCount":2,"groupName":"IzumiKonata、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"567962184","maxMember":200,"memberCount":56,"groupName":"Lollipop Client ♥ 交流群","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":590033,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"1633853286","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2162784,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":128,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"567962184","maxMember":200,"memberCount":56,"groupName":"Lollipop Client ♥ 交流群","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":590033,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":true,"groupShutupExpireTime":"0","personShutupExpireTime":"1633853286","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":2162784,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":128,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 618769434 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"719670912","maxMember":200,"memberCount":17,"groupName":"窝囊废杀戮台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134336,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1075905600,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1152,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"719670912","maxMember":200,"memberCount":17,"groupName":"窝囊废杀戮台","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":336134336,"isConf":false,"hasModifyConfGroupFace":true,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1075905600,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1152,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"909166931","maxMember":200,"memberCount":4,"groupName":"IzumiKonata、we1l、eplor.wav、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 909166931 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"822359386","maxMember":200,"memberCount":54,"groupName":"高雅艺术复活5","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076298816,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1408,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"822359386","maxMember":200,"memberCount":54,"groupName":"高雅艺术复活5","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":true,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076298816,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":1408,"groupOwnerId":{"memberUin":"0","memberUid":"u_rUVK-8Mv_Bpn0e8U5qu8gg"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 719670912 members success 

5/27/2024, 8:10:42 PM 2128440478(2128440478): update group {"groupCode":"909166931","maxMember":200,"memberCount":4,"groupName":"IzumiKonata、we1l、eplor.wav、g","groupStatus":0,"memberRole":2,"isTop":false,"toppedTimestamp":"0","privilegeFlag":67633344,"isConf":true,"hasModifyConfGroupFace":false,"hasModifyConfGroupName":false,"remarkName":"","hasMemo":false,"groupShutupExpireTime":"0","personShutupExpireTime":"0","discussToGroupUin":"0","discussToGroupMaxMsgSeq":0,"discussToGroupTime":0,"groupFlagExt":1076036672,"authGroupType":0,"groupCreditLevel":5,"groupFlagExt3":33556352,"groupOwnerId":{"memberUin":"0","memberUid":"u_hGX0eIHa7qO67Uj_7egTVA"}} 

5/27/2024, 8:10:42 PM 2128440478(2128440478): get group 822359386 members success 

5/27/2024, 8:10:43 PM 2128440478(2128440478): self info {"uid":"u_fcwSngIPZP-oFBGt30HSSw","qid":"","uin":"2128440478","nick":"g","remark":"","longNick":"","avatarUrl":"","birthday_year":1902,"birthday_month":1,"birthday_day":1,"sex":0,"topTime":"0","constellation":12,"shengXiao":3,"kBloodType":0,"homeTown":"0-0-0","makeFriendCareer":0,"pos":"","eMail":"","phoneNum":"11122223333","college":"","country":"","province":"","city":"","postCode":"","address":"","isBlock":false,"isSpecialCareOpen":false,"isSpecialCareZone":false,"ringId":"0","regTime":1552137879,"interest":"","termType":999,"labels":[],"qqLevel":{"crownNum":0,"sunNum":0,"moonNum":2,"starNum":0},"isHideQQLevel":0,"privilegeIcon":{"jumpUrl":"https://club.vip.qq.com/privilege?_wv=16777218&_wwv=68&_nav_bgclr=ffffff&_nav_titleclr=ffffff&_nav_txtclr=ffffff&_nav_alpha=0&_wvx=10&_proxy=1","openIconList":[],"closeIconList":[{"jumpUrl":"https://h5.qzone.qq.com/bigVip/home?_wv=16778243&qzUseTransparentNavBar=1&_wwv=1&_ws=32&openpay=1&_proxy=1&source=dhyzrtdzlk","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/dhybigv2/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/ae45493fb5ac77b09325854c1e9bf010","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":113,"level":0,"flag":0},{"jumpUrl":"https://club.vip.qq.com/index?open_kuikly_info=%7B%22qqmc_config%22%3A%22vas_kuikly_config%22%2C%22page_name%22%3A%22vas_qqvip_root_page%22%2C%22bundle_name%22%3A%22vas_qqvip_root_page%22%7D&page_name=vas_qqvip_root_page&aid=mvip.p.cl.zlk_vipicon&from=icon","iconUrl":"","iconPath":"","deluxeIconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/svipbig/gray_0.png","deluxeIconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/60bedf5504acea5505c54d817c4d2f30","isBig":0,"type":1,"level":0,"flag":0},{"jumpUrl":"https://h5.qzone.qq.com/vip/home?_wv=16778243&qzUseTransparentNavBar=1&_wwv=1&_ws=32&from=coupon&aid=zrtzlkdwx&open_kuikly_info=%7B%22qqmc_config%22%3A%22vas_kuikly_config%22%2C%22page_name%22%3A%22vas_qqvip_root_page%22%2C%22bundle_name%22%3A%22vas_qqvip_root_page%22%7D&page_name=vas_qqvip_root_page&pageType=YellowDiamond&trace_detail=base64-eyJhcHBpZCI6Inpsa3piIiwicGFnZV9pZCI6IjEifQ%3D%3D","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/yellowbig/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/211d56fc7e153030199e4b4f2f50662f","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":102,"level":0,"flag":0},{"jumpUrl":"https://h5.qzone.qq.com/v2/vip/card/page/home?_wv=16778146&tab=prize&enteranceId=profileicon","iconUrl":"https://tianquan.gtimg.cn/shoal/qqgxh/6b32592d-8f6a-4c83-9cf4-da25291f66eb.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/d076eaa892dea42e74f62f28e0bca3c3","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":117,"level":0,"flag":0},{"jumpUrl":"https://club.vip.qq.com/sp?_proxy=1&_wv=16777216","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/svipmuv3/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/0000139aab66620d2a9bf96d4ea51db2","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":109,"level":0,"flag":0},{"jumpUrl":"https://pay.qq.com/h5/shop.shtml?pf=__mds_sq_myinf&hash=%2forder%2f18%2fbiz%2f24%3fisIpZone%3d1%26shelfTab%3d24","iconUrl":"","iconPath":"","deluxeIconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/greenupbigv2/gray_0.png","deluxeIconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/a58602fff3f350a381143a0c1ad431d1","isBig":0,"type":103,"level":0,"flag":0},{"jumpUrl":"https://club.vip.qq.com/sp?_proxy=1&_wv=16777216","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/svipspv3/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/c8c189247e11f75e20fbd61a786f60c5","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":107,"level":0,"flag":0},{"jumpUrl":"https://pay.qq.com/h5/shop.shtml?pf=__mds_sq_myinf&hash=%2Forder%2F20%2Fbiz%2F30%3FisIpZone%3D1","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/filmv5/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/4942fc4e695dc18686f52652b1570f52","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":4,"level":0,"flag":0},{"jumpUrl":"","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/wkclub/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/6a31e523da7a30f3a4fa6f7312679433","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":108,"level":0,"flag":0},{"jumpUrl":"","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/yellowlove/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/836b5f56b878157ce6938a5e67566da5","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":104,"level":0,"flag":0},{"jumpUrl":"","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/redv2/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/4b42f41f74705d84969cd62ae6830694","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":101,"level":0,"flag":0},{"jumpUrl":"","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/docvipv2/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/3bb4ad2845eb6cbeb4a91b354a6b5309","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":116,"level":0,"flag":0},{"jumpUrl":"","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/cloudv2/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/85fde79e9e0c3e6b3ad07f9081aea0bf","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":105,"level":0,"flag":0},{"jumpUrl":"","iconUrl":"https://qqvip-web.cdn-go.cn/imgcache_privilege/latest/cf/gray_0.png","iconPath":"C:\\Users\\IzumiKonata\\Documents\\Tencent Files\\2128440478\\nt_qq\\nt_data\\PrivilegeIcon/827713b9923a6590b5dc1f2aacedc769","deluxeIconUrl":"","deluxeIconPath":"","isBig":0,"type":115,"level":0,"flag":0}]},"isHidePrivilegeIcon":0,"photoWall":{"picList":[]},"vipFlag":false,"yearVipFlag":false,"svipFlag":false,"vipLevel":1,"status":10,"qidianMasterFlag":0,"qidianCrewFlag":0,"qidianCrewFlag2":0,"extStatus":0,"recommendImgFlag":0,"disableEmojiShortCuts":0,"pendantId":"0","vipNameColorId":"0"} 

5/27/2024, 8:10:46 PM g(2128440478): ws connect / 

5/27/2024, 8:10:46 PM g(2128440478): event上报ws客户端已连接 

5/27/2024, 8:10:46 PM g(2128440478): ws 消息上报  {"time":1716811846,"self_id":2128440478,"post_type":"meta_event","meta_event_type":"lifecycle","sub_type":"connect"} 

5/27/2024, 8:10:46 PM g(2128440478): 收到正向Websocket消息 {"action":"get_version_info","echo":0} 

5/27/2024, 8:10:46 PM g(2128440478): ws 消息上报  {"status":"ok","retcode":0,"data":{"app_name":"LLOneBot","protocol_version":"v11","app_version":"3.26.2"},"message":"","wording":"","echo":0} 

5/27/2024, 8:10:46 PM g(2128440478): 收到正向Websocket消息 {"action":"get_login_info","echo":1} 

5/27/2024, 8:10:46 PM g(2128440478): ws 消息上报  {"status":"ok","retcode":0,"data":{"user_id":2128440478,"nickname":"g"},"message":"","wording":"","echo":1} 

5/27/2024, 8:10:46 PM g(2128440478): 收到正向Websocket消息 {"action":"get_friend_list","echo":2} 

5/27/2024, 8:10:46 PM g(2128440478): ws 消息上报  {"status":"ok","retcode":0,"data":[{"user_id":3231656401,"nickname":"水不在深","remark":"","sex":"unknown","level":0},{"user_id":1096984103,"nickname":"Sh1v3ring","remark":"[服主]LaoXGod","sex":"unknown","level":0},{"user_id":2905930563,"nickname":"AlanBacker","remark":"","sex":"female","level":0},{"user_id":2685660551,"nickname":"奥利奥","remark":"周奥","sex":"unknown","level":0},{"user_id":3624530598,"nickname":"𝓜𝔂𝓽𝓱𝓲𝔃𝓲𝓷𝓰","remark":"","sex":"unknown","level":0},{"user_id":2951581542,"nickname":"吃掉奥利奥","remark":"","sex":"female","level":0},{"user_id":2128440478,"nickname":"g","remark":"","sex":"male","level":0},{"user_id":2030752250,"nickname":"IzumiKonata","remark":"","sex":"unknown","level":0},{"user_id":2728694055,"nickname":"eplor.wav","remark":"","sex":"unknown","level":0},{"user_id":1171360723,"nickname":".","remark":"","sex":"unknown","level":0},{"user_id":2033174100,"nickname":"米米(`・ω・´)ฅ🍋","remark":"","sex":"unknown","level":0}],"message":"","wording":"","echo":2} 

5/27/2024, 8:10:46 PM g(2128440478): 收到正向Websocket消息 {"action":"get_group_list","echo":3} 

5/27/2024, 8:10:46 PM g(2128440478): ws 消息上报  {"status":"ok","retcode":0,"data":[{"group_id":485868537,"group_name":"窝囊废断头台","member_count":101,"max_member_count":200},{"group_id":567962184,"group_name":"Lollipop Client ♥ 交流群","member_count":56,"max_member_count":200},{"group_id":618769434,"group_name":"IzumiKonata、g","member_count":2,"max_member_count":200},{"group_id":719670912,"group_name":"窝囊废杀戮台","member_count":17,"max_member_count":200},{"group_id":822359386,"group_name":"高雅艺术复活5","member_count":54,"max_member_count":200},{"group_id":909166931,"group_name":"IzumiKonata、we1l、eplor.wav、g","member_count":4,"max_member_count":200}],"message":"","wording":"","echo":3} 

5/27/2024, 8:10:47 PM g(2128440478): ntqq api timeout IPC_UP_2, ns-ntApi-2, nodeIKernelGroupService/getGroupList ["nodeIKernelGroupService/getGroupList",{"force_update":true},null] 

5/27/2024, 8:10:50 PM g(2128440478): setting window created 

5/27/2024, 8:10:50 PM g(2128440478): llonebot current version ["3","26","2"] 

5/27/2024, 8:10:50 PM g(2128440478): llonebot last version [""]

补充信息

No response

日志文件名日期错误

问题描述

2023-12-31这一天,logs下产生了一个名为2024-12-31.log的日志文件

image

复现

emmmm把电脑日期调到2023-12-31

Overflow 版本

1bf69de

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

No response

在群中复读时会出现undefined

问题描述

执行复读时会出现undefined;

image

可能的原因是Overflow中发送的数据有问题: NapNeko/NapCatQQ#47 (comment)

完整的错误信息和相关讨论可以在 NapNeko/NapCatQQ#47 中查看

复现

在PluginMain.kt中输出,并且使用正向ws方式连接至NapCat

eventChannel.subscribeAlways<GroupMessageEvent> {
  group.sendMessage("sender: ${sender}; this msg: ${message}")
  group.sendMessage(message)
  logger.warning("this msg: ${message}")
}

Overflow 版本

ef9584a

其他组件版本

系统版本

CentOS7

QQNT 版本

9.9.9-23361

NapCat 版本

1.4.1(docker)

系统日志

2024-05-29 15:33:13 V/Bot.xxxxxxxxx: [XXXXXX(xxxxxxxxx)] XXXXXX(xxxxxxxxx) -> aaarte
2024-05-29 15:33:13 V/Bot.xxxxxxxxx: Group(xxxxxxxxx) <- sender: NormalMember(xxxxxxxxx); this msg: [mirai:source:ids=[-2147483547], internalIds=[-2147483547], from group xxxxxxxxx to xxxxxxxxx at 1716967]aaarte
2024-05-29 15:33:13 V/Bot.xxxxxxxxx: Group(xxxxxxxxx) <- [mirai:source:ids=[-2147483547], internalIds=[-2147483547], from group xxxxxxxxx to xxxxxxxxx at 1716967]aaarte
2024-05-29 15:33:13 W/Group Management: this msg: [mirai:source:ids=[-2147483547], internalIds=[-2147483547], from group xxxxxxxxx to xxxxxxxxx at 1716967]aaarte

网络日志

2024-05-29 15:33:12 D/Onebot: Client received <-- {"self_id":xxxxxxxxx,"user_id":xxxxxxxxx,"time":1716967990,"message_id":-2147483547,"message_seq":-2147483547,"real_id":-2147483547,"message_type":"group","sender":{"user_id":xxxxxxxxx,"nickname":"XXXXXX","card":"XXXXXX","role":"owner"},"raw_message":"aaarte","font":14,"sub_type":"normal","message":[{"data":{"text":"aaarte"},"type":"text"}],"message_format":"array","post_type":"message","group_id":xxxxxxxxx}
2024-05-29 15:33:12 D/Onebot: Send to server --> {"action":"get_group_member_list","params":{"group_id":xxxxxxxxx},"echo":6}
2024-05-29 15:33:13 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":[],"message":"","wording":"","echo":6}
2024-05-29 15:33:13 D/Onebot: Send to server --> {"action":"send_group_msg","params":{"group_id":xxxxxxxxx,"message":[{"type":"text","data":{"text":"sender: NormalMember(xxxxxxxxx); this msg: [mirai:source:ids=[-2147483547], internalIds=[-2147483547], from group xxxxxxxxx to xxxxxxxxx at 1716967]aaarte"}}],"auto_escape":false},"echo":7}
2024-05-29 15:33:13 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":{"message_id":-2147483545},"message":"","wording":"","echo":7}
2024-05-29 15:33:13 D/Onebot: Send to server --> {"action":"send_group_msg","params":{"group_id":xxxxxxxxx,"message":[{"type":"text","data":{}},{"type":"text","data":{"text":"aaarte"}}],"auto_escape":false},"echo":8}
2024-05-29 15:33:13 D/Onebot: Client received <-- {"status":"ok","retcode":0,"data":{"message_id":-2147483544},"message":"","wording":"","echo":8}

补充信息

No response

在某一时刻overflow对QQ消息的解析突然就戛然而止

问题描述

声明:这个问题似乎并不是一个广泛的问题,除了我以外目前也只有一个群友遇到有类似的问题。

我使用的是这样一个架构:

graph LR
  我自己的代码 <-->|mirai-http-api| Overflow
  Overflow <-->|OneBot| NapCatQQ
  NapCatQQ <--> QQNT
Loading

我自己的代码在之前使用基于签名服务的Mirai长期运行过,可以稳定运行。

切换到Overflow之后,大部分功能可以正常运行。但运行到某个时间后,突然就不解析来自QQ的消息了。

复现

无法稳定复现

Overflow 版本

Overflow v2.16.0-d53033f-SNAPSHOT.1

其他组件版本

系统日志

正常情况下,会有这样的日志:

2024-05-24 12:10:26 V/Bot.3389442918: [GMSR GuGuBird总部(904169430)] 代理群主(这周有89请叫我)(1193824777) -> 卖不出去我就买15个p宠复活了
2024-05-24 12:10:43 V/Bot.3389442918: [【圆】公会群(859883003)] Ragdoll(3508754373) -> 夜爬的标屏蔽不掉的
2024-05-24 12:10:45 V/Bot.3389442918: [GMSR GuGuBird总部(904169430)] 月似镜子天上照(237784149) -> 150刀可以买p宠了吗
2024-05-24 12:10:47 V/Bot.3389442918: [东方project沙包聚集地(182721157)] accelerator(2942472599) -> 我去
2024-05-24 12:10:49 V/Bot.3389442918: [【圆】公会群(859883003)] 太刀琳摁(719850394) -> 没用的
2024-05-24 12:10:49 V/Bot.3389442918: [GMSR GuGuBird总部(904169430)] 代理群主(这周有89请叫我)(1193824777) -> 想再多要点我再去搞就行了

但是,从2024-05-24 12:10:49开始,突然就没有这个日志了

网络日志

在对应的时间,日志一切正常

2024-05-24 12:10:49 D/Onebot: Client received <-- {xxxxxxxxxxx}
2024-05-24 12:10:49 D/Onebot: Client received <-- {xxxxxxxxxxx}
2024-05-24 12:10:49 D/Onebot: Send to server --> {xxxxxxxxxxx}
2024-05-24 12:10:49 D/Onebot: Client received <-- {xxxxxxxxxxx}

即使卡死之后,直到我手动停止Overflow之前,日志都一直正常

2024-05-24 15:01:43 D/Onebot: Client received <-- {xxxxxxxxxxx}

但是手动停止(Ctrl+C)时会卡死,并出现报错:

2024-05-24 15:01:51 I/Onebot: ▌ 服务器连接因 主动关闭 已关闭 (关闭码: NORMAL)
2024-05-24 15:01:51 D/Onebot: Send to server --> {"action":"get_group_member_info","params":{"group_id":904169430,"user_id":3389442918,"no_cache":false},"echo":21446}
2024-05-24 15:01:51 D/Onebot: Send to server --> {"action":"get_group_member_info","params":{"group_id":904169430,"user_id":3389442918,"no_cache":false},"echo":21447}
2024-05-24 15:01:51 W/Onebot: Request failed: [get_group_member_info] null
2024-05-24 15:01:51 W/Onebot: Request failed: [get_group_member_info] null
2024-05-24 15:01:51 V/Onebot: Stacktrace:
top.mrxiaom.overflow.internal.deps.websocket.exceptions.WebsocketNotConnectedException
        at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.send(WebSocketImpl.java:674)
        at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.send(WebSocketImpl.java:650)
        at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.send(WebSocketClient.java:431)
        at cn.evolvefield.onebot.client.util.ActionSendRequest$send$resp$1$1$1.invokeSuspend(ActionSendRequest.kt:42)
        at cn.evolvefield.onebot.client.util.ActionSendRequest$send$resp$1$1$1.invoke(ActionSendRequest.kt)
        at cn.evolvefield.onebot.client.util.ActionSendRequest$send$resp$1$1$1.invoke(ActionSendRequest.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:100)
        at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:146)
        at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44)
        at cn.evolvefield.onebot.client.util.ActionSendRequest.send(ActionSendRequest.kt:40)
        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.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.getBotAsMember(GroupWrapper.kt:132)
        at top.mrxiaom.overflow.internal.contact.GroupWrapper.getBotAsMember(GroupWrapper.kt:40)
        at net.mamoe.mirai.contact.Group.getBotPermission(Group.kt:111)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.dto.GroupDTO.<init>(contact.kt:58)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.dto.MemberDTO.<init>(contact.kt:48)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.convertor.MessageKt.toDTO(message.kt:30)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.convertor.ConvertorKt.toDTO(convertor.kt:48)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.WebsocketAdapter.offerChannel(WebsocketAdapter.kt:60)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.WebsocketAdapter.onReceiveBotEvent(WebsocketAdapter.kt:53)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.context.MahContextHolder$broadcast$$inlined$forEach$lambda$1.invokeSuspend(MahContext.kt:173)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        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)

2024-05-24 15:01:51 V/Onebot: Stacktrace:
top.mrxiaom.overflow.internal.deps.websocket.exceptions.WebsocketNotConnectedException
        at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.send(WebSocketImpl.java:674)
        at top.mrxiaom.overflow.internal.deps.websocket.WebSocketImpl.send(WebSocketImpl.java:650)
        at top.mrxiaom.overflow.internal.deps.websocket.client.WebSocketClient.send(WebSocketClient.java:431)
        at cn.evolvefield.onebot.client.util.ActionSendRequest$send$resp$1$1$1.invokeSuspend(ActionSendRequest.kt:42)
        at cn.evolvefield.onebot.client.util.ActionSendRequest$send$resp$1$1$1.invoke(ActionSendRequest.kt)
        at cn.evolvefield.onebot.client.util.ActionSendRequest$send$resp$1$1$1.invoke(ActionSendRequest.kt)
        at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:100)
        at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:146)
        at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44)
        at cn.evolvefield.onebot.client.util.ActionSendRequest.send(ActionSendRequest.kt:40)
        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.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.getBotAsMember(GroupWrapper.kt:132)
        at top.mrxiaom.overflow.internal.contact.GroupWrapper.getBotAsMember(GroupWrapper.kt:40)
        at net.mamoe.mirai.contact.Group.getBotPermission(Group.kt:111)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.dto.GroupDTO.<init>(contact.kt:58)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.dto.MemberDTO.<init>(contact.kt:48)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.convertor.MessageKt.toDTO(message.kt:30)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.convertor.ConvertorKt.toDTO(convertor.kt:48)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.WebsocketAdapter.offerChannel(WebsocketAdapter.kt:60)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.WebsocketAdapter.onReceiveBotEvent(WebsocketAdapter.kt:53)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.context.MahContextHolder$broadcast$$inlined$forEach$lambda$1.invokeSuspend(MahContext.kt:173)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        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)

2024-05-24 15:01:51 W/Onebot: Request failed: [get_msg] Timed out waiting for 10000 ms
2024-05-24 15:01:51 V/Onebot: Stacktrace:
kotlinx.coroutines.TimeoutCancellationException: Timed out waiting for 10000 ms
        at kotlinx.coroutines.TimeoutKt.TimeoutCancellationException(Timeout.kt:184)
        at kotlinx.coroutines.TimeoutCoroutine.run(Timeout.kt:154)
        at kotlinx.coroutines.EventLoopImplBase$DelayedRunnableTask.run(EventLoop.common.kt:508)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
        at kotlinx.coroutines.DefaultExecutor.run(DefaultExecutor.kt:108)
        at java.base/java.lang.Thread.run(Thread.java:833)

2024-05-24 15:01:51 D/Onebot: Send to server --> {"action":"get_group_member_info","params":{"group_id":182721157,"user_id":3389442918,"no_cache":false},"echo":21448}
2024-05-24 15:01:51 W/Onebot: Request failed: [get_group_member_info] Mutex is not locked
2024-05-24 15:01:51 V/Onebot: Stacktrace:
java.lang.IllegalStateException: Mutex is not locked
        at kotlinx.coroutines.sync.MutexImpl.unlock(Mutex.kt:326)
        at cn.evolvefield.onebot.client.util.ActionSendRequest.send(ActionSendRequest.kt:98)
        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.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.getBotAsMember(GroupWrapper.kt:132)
        at top.mrxiaom.overflow.internal.contact.GroupWrapper.getBotAsMember(GroupWrapper.kt:40)
        at net.mamoe.mirai.contact.Group.getBotPermission(Group.kt:111)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.dto.GroupDTO.<init>(contact.kt:58)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.internal.action.InfomationKt.onGetGroupList(infomation.kt:31)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.router.ActionKt.handleWsAction(action.kt:82)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.router.BaseKt.handleChannel(base.kt:80)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.router.BaseKt.access$handleChannel(base.kt:1)
        at mirai-api-http-2.3.3.mirai.jar//net.mamoe.mirai.api.http.adapter.ws.router.BaseKt$handleChannel$1.invokeSuspend(base.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        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)

之后,我强制kill -9停止了Overflow

补充信息

以下是卡死后,还未Ctrl+C前的进程信息

$ top
top - 14:38:41 up 1 day, 21:47,  1 user,  load average: 0.05, 0.04, 0.00
Tasks: 110 total,   1 running, 109 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1816.9 total,    106.1 free,   1045.1 used,    665.7 buff/cache
MiB Swap:   6000.0 total,   5827.1 free,    172.9 used.    615.0 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                               
 596322 root      20   0 3083332 470096  20752 S   0.0  25.3   2:02.50 java  

$ ps aux | grep  596322
root      596322  0.1 25.2 3083332 470096 pts/4  Sl+  5月23   2:02 java -cp .:/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar:./content/* net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader
root     1001166  0.0  0.0  12348  1156 pts/0    S+   14:38   0:00 grep --color=auto 596322

$ ps aux | grep ./start.sh
root      596320  0.0  0.1  45752  2668 ?        Ss   5月23   0:00 SCREEN -mS overflow ./start.sh
root      596321  0.0  0.1  12936  2420 pts/4    Ss+  5月23   0:00 /bin/sh ./start.sh
root     1009211  0.0  0.0  12348  1196 pts/0    S+   15:01   0:00 grep --color=auto ./start.sh

关于`Image`类的一些讨论

问题描述

override suspend fun queryImageUrl(bot: Bot, image: Image): String {
// Onebot 没有 imageId 概念,Overflow 使用 imageId 字段来存储 Onebot 中的 file 链接
if (image !is WrappedImage) throw IllegalStateException("Image type ${image::class.qualifiedName} do not support")
return image.url
}

正如代码注释所说Onebot 没有 imageId 概念,Overflow 使用 imageId 字段来存储 Onebot 中的 file 链接

但是在df78661中仍然尝试进行了imageId的实现

这导致了一个问题,正如上文所言Onebot 没有 imageId 概念,也许在Shamrock中这类走手机协议的可以仍然保持ImageId的概念,但是在以Lagrange这类走PCNT协议的就会出现问题,因为PCNT的图片链接是这样的:

https://multimedia.nt.qq.com.cn/download?appid=1407&fileid=Cgk3Mjc1MTEwNzASFDTLcVgFwCI96UKOYtmoY93wveXiGIY9IP8KKPXv0v-x_4UDUIC9owE&rkey=CAMSKLgthq-6lGU_NMvprHzoH2sjPb9AMHBJwViIt22qAznF1XoB9KY9IMk&spec=0

之前版本插件可以直接用imageId获取图片的方式来维持运行,或者直接从消息字符串中抽取链接,现在消息格式变了、imageIdLagrange中获取变成了!图片链接而不是以前的图片链接,导致了部分混乱;

同时部分功能也是需要直接抽取图片外链,而以Shamrock中这类走手机协议的获取到的imageId也不能像以前一样简单的通过https://gchat.qpic.cn/gchatpic_new/0/0-0-${imageId}/0拼接获取外链。所以或许可以回滚这个commit,因为Onebot注定不能提供imageId的概念,强行解析imageId对于不同Onebot实现会产生不一致的效果导致更复杂的插件判断,或者额外提供一个接口直接获取图片链接保持其一致性

复现

Lagrange.Onebot就会出现

Overflow 版本

3bd5c2e

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

对了,最新版本下我发送图片在Onebot传输中也变成了{"type":"image","data":{"file":"!base64:///9j/4AAQXXXXXXXX"}},也是多了一个感叹号,我认为可能也是这个Commit导致的

请求兼容Mirai的序列化方法

尝试使用最新版本
Lagrange.OneBot(Nightly Release 240408版本)、Overflow(2.16.0-febc5da)、MiraiCP(2.16.0)
MiraiCP
MiraiCP-template

当收到消息时报错如后附。
可能需要Mirai的序列化方法以兼容如MiraiCP的更多插件?
谢谢!

2024-04-12 21:10:08 E/MiraiCP: Exception in coroutine Plugin tech.eritquearcus.miraicp of MiraiCP kotlinx.serialization.SerializationException: Class 'class top.mrxiaom.overflow.internal.message.data.IncomingSource$group$1' is not registered for polymorphic serialization in the scope of 'SingleMessage'. To be registered automatically, class 'class top.mrxiaom.overflow.internal.message.data.IncomingSource$group$1' has to be '@Serializable', and the base class 'SingleMessage' has to be sealed and '@Serializable'. Alternatively, register the serializer for 'class top.mrxiaom.overflow.internal.message.data.IncomingSource$group$1' explicitly in a corresponding SerializersModule. at kotlinx.serialization.internal.AbstractPolymorphicSerializerKt.throwSubtypeNotRegistered(AbstractPolymorphicSerializer.kt:102) at kotlinx.serialization.internal.AbstractPolymorphicSerializerKt.throwSubtypeNotRegistered(AbstractPolymorphicSerializer.kt:114) at kotlinx.serialization.PolymorphicSerializerKt.findPolymorphicSerializer(PolymorphicSerializer.kt:109) at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:233) at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableElement(AbstractEncoder.kt:80) at kotlinx.serialization.internal.CollectionLikeSerializer.serialize(CollectionSerializers.kt:69) at net.mamoe.mirai.message.data.MessageChain$Serializer.serialize(MessageChain.kt:278) at net.mamoe.mirai.message.data.MessageChain$Serializer.serialize(MessageChain.kt:273) at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:228) at kotlinx.serialization.json.internal.JsonStreamsKt.encodeByWriter(JsonStreams.kt:28) at kotlinx.serialization.json.Json.encodeToString(Json.kt:81) at net.mamoe.mirai.message.data.MessageChain$Companion.serializeToJsonString(MessageChain.kt:330) at net.mamoe.mirai.message.data.MessageChain$Companion.serializeToJsonString$default(MessageChain.kt:328) at MiraiCP-plugin-2.16.0.mirai2.jar//tech.eritquearcus.miraicp.shared.Packets$Outgoing$MessageEventData.<init>(Packet.kt:575) at MiraiCP-plugin-2.16.0.mirai2.jar//tech.eritquearcus.miraicp.shared.Packets$Utils.toEventData(Packet.kt:789) at MiraiCP-plugin-2.16.0.mirai2.jar//tech.eritquearcus.miraicp.shared.PublicShared$onEnable$2.invokeSuspend(PublicShared.kt:849) at MiraiCP-plugin-2.16.0.mirai2.jar//tech.eritquearcus.miraicp.shared.PublicShared$onEnable$2.invoke(PublicShared.kt) at MiraiCP-plugin-2.16.0.mirai2.jar//tech.eritquearcus.miraicp.shared.PublicShared$onEnable$2.invoke(PublicShared.kt) at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invokeSuspend(EventChannel.kt:484) at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChannel.kt) at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChannel.kt) at net.mamoe.mirai.internal.event.SafeListener$onEvent$2.invokeSuspend(SafeListener.kt:59) at net.mamoe.mirai.internal.event.SafeListener$onEvent$2.invoke(SafeListener.kt) at net.mamoe.mirai.internal.event.SafeListener$onEvent$2.invoke(SafeListener.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89) at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169) at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) at net.mamoe.mirai.internal.event.SafeListener.onEvent(SafeListener.kt:59) at net.mamoe.mirai.internal.event.EventListeners.process(EventListeners.kt:119) at net.mamoe.mirai.internal.event.EventListeners.callListeners$overflow_core(EventListeners.kt:67) at net.mamoe.mirai.internal.event.EventChannelImpl.callListeners(EventChannelImpl.kt:86) at net.mamoe.mirai.internal.event.EventChannelImpl.broadcastEventImpl(EventChannelImpl.kt:76) at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broadcast$suspendImpl(EventDispatcher.kt:78) at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broadcast(EventDispatcher.kt) at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcastAsync$job$1.invokeSuspend(EventDispatcher.kt:92) at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcastAsync$job$1.invoke(EventDispatcher.kt) at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcastAsync$job$1.invoke(EventDispatcher.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55) at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112) at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56) at kotlinx.coroutines.BuildersKt.launch(Unknown Source) at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broadcastAsync-kKe4JaQ(EventDispatcher.kt:89) at net.mamoe.mirai.internal.network.components.EventDispatcher$DefaultImpls.broadcastAsync-kKe4JaQ$default(EventDispatcher.kt:24) at top.mrxiaom.overflow.internal.listener.GroupMessageListener.onMessage(group.kt:58) at top.mrxiaom.overflow.internal.listener.GroupMessageListener.onMessage(group.kt:34) at cn.evolvefield.onebot.client.listener.EventListenerKt.message(EventListener.kt:21) at cn.evolvefield.onebot.client.handler.EventBus.onReceive(EventBus.kt:44) at cn.evolvefield.onebot.client.connection.IAdapter$onReceiveMessage$1.invokeSuspend(IAdapter.kt:31) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) 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)

回复 id 过长,Int 无法满足需求

2024-02-11 12:30:07 W/stderr: Exception in thread "DefaultDispatcher-worker-9" java.lang.NumberFormatException: For input string: "2518984560"
2024-02-11 12:30:07 W/stderr: at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
2024-02-11 12:30:07 W/stderr: at java.base/java.lang.Integer.parseInt(Integer.java:662)
2024-02-11 12:30:07 W/stderr: at java.base/java.lang.Integer.parseInt(Integer.java:778)
2024-02-11 12:30:07 W/stderr: at top.mrxiaom.overflow.internal.message.OnebotMessages.deserializeFromOneBotJson$overflow_core(OnebotMessages.kt:259) 2024-02-11 12:30:07 W/stderr: at top.mrxiaom.overflow.internal.message.OnebotMessages.deserializeFromOneBot$overflow_core(OnebotMessages.kt:181)
2024-02-11 12:30:07 W/stderr: at top.mrxiaom.overflow.internal.message.OnebotMessages.deserializeFromOneBot$overflow_core$default(OnebotMessages.kt:179) 2024-02-11 12:30:07 W/stder

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.