mamoe / mirai

高效率 QQ 机器人支持库
https://mirai.mamoe.net
GNU Affero General Public License v3.0
14.38k stars 2.53k forks source link

2.0 获取图片地址时产生异常,提示没有在线 Bot,但 Bot 确实在线。 #727

Closed IceCream-QAQ closed 3 years ago

IceCream-QAQ commented 3 years ago

收到消息时试图获取图片地址,但是出错。 报此错后,Bot 依旧能正常收发消息。 所以应该没有掉线。

java.lang.IllegalStateException: No Bot available to query image url
    at net.mamoe.mirai.message.data.Image$Key.queryUrl(Image.kt:145)
    at com.icecreamqaq.yuq.mirai.MiraiBot.toMessage(MiraiBot.kt:312)
    at com.icecreamqaq.yuq.mirai.MiraiBot$startBot$3.invokeSuspend(MiraiBot.kt:375)
    at com.icecreamqaq.yuq.mirai.MiraiBot$startBot$3.invoke(MiraiBot.kt)
    at net.mamoe.mirai.event.SubscriberKt__SubscriberKt$subscribeAlways$1.invokeSuspend(subscriber.kt:271)
    at net.mamoe.mirai.event.SubscriberKt__SubscriberKt$subscribeAlways$1.invoke(subscriber.kt)
    at net.mamoe.mirai.event.internal.Handler$onEvent$2.invokeSuspend(InternalEventListeners.kt:73)
    at net.mamoe.mirai.event.internal.Handler$onEvent$2.invoke(InternalEventListeners.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:161)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
    at net.mamoe.mirai.event.internal.Handler.onEvent(InternalEventListeners.kt:73)
    at net.mamoe.mirai.event.EventKt.broadcast(Event.kt:241)
    at net.mamoe.mirai.internal.network.QQAndroidBotNetworkHandler.handlePacket(QQAndroidBotNetworkHandler.kt:520)
    at net.mamoe.mirai.internal.network.QQAndroidBotNetworkHandler$generifiedParsePacket$2.invokeSuspend(QQAndroidBotNetworkHandler.kt:476)
    at net.mamoe.mirai.internal.network.QQAndroidBotNetworkHandler$generifiedParsePacket$2.invoke(QQAndroidBotNetworkHandler.kt)
    at net.mamoe.mirai.internal.network.protocol.packet.KnownPacketFactories.handleIncomingPacket$mirai_core(PacketFactory.kt:276)
    at net.mamoe.mirai.internal.network.protocol.packet.KnownPacketFactories.parseIncomingPacket(PacketFactory.kt:232)
    at net.mamoe.mirai.internal.network.QQAndroidBotNetworkHandler.generifiedParsePacket(QQAndroidBotNetworkHandler.kt:467)
    at net.mamoe.mirai.internal.network.QQAndroidBotNetworkHandler.parsePacket(QQAndroidBotNetworkHandler.kt:462)
    at net.mamoe.mirai.internal.network.QQAndroidBotNetworkHandler$parsePacketAsync$1.invokeSuspend(QQAndroidBotNetworkHandler.kt:445)
    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:571)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

复现

版本

mirai: 2.0-M1-dev-3 mirai: 2.0-M1

dev3 和 m1 均会产生此问题。

Him188 commented 3 years ago

1-2 天内会与其他 2.0-M1 出现的 bug 一起修复并发布 2.0-M1-1