Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

群消息无法发送 #32

Closed
Maplefsnow opened this issue Aug 18, 2021 · 4 comments
Closed

群消息无法发送 #32

Maplefsnow opened this issue Aug 18, 2021 · 4 comments
Assignees

Comments

@Maplefsnow
Copy link

问题描述

登录QQ账号后机器人的表现不稳定,频繁出现无法发送群消息的情况。
相同的测试环境下有时可以发送群消息,有时则无法发送。

复现方法

  1. 控制台使用 /mirai sendgroupmessage 试图发送群消息时,bot不发送任何消息,控制台无任何输出。
  2. 插件内部使用MiraiGroupMessageEvent监听时,使用mirai.sendGroupMessage方法试图发送群消息时,bot不发送任何消息,控制台无任何输出,插件无任何报错。
  3. 插件内部获取mirai.sendGroupMessage方法的返回值时,即使bot未发送任何信息,仍得到返回值"true"。

版本类型

  • Minecraft 服务端版本:Paper-1.17.1
  • MiraiMC 插件版本:1.3.2-release

服务器日志

由于以上所报错误均无任何日志记录,故在此呈上插件加载时的一串警告,希望对解决问题有所帮助

[01:07:11 WARN]: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
[01:07:11 WARN]:  at java.base/javax.crypto.JceSecurity.getInstance(JceSecurity.java:130)
[01:07:11 WARN]:  at java.base/javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:238)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDH$Companion.calculateShareKey(ECDHJvmDesktop.kt:89)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDH.lambda-3$testECDH(ECDHJvmDesktop.kt:49)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDH.<clinit>(ECDHJvmDesktop.kt:61)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDHKt.adjustToPublicKey(ECDH.kt:141)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDHKt.adjustToPublicKey(ECDH.kt:136)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDHInitialPublicKey.<init>(ECDH.kt:125)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDHInitialPublicKey$$serializer.deserialize(ECDH.kt:122)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.crypto.ECDHInitialPublicKey$$serializer.deserialize(ECDH.kt:122)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.serialization.protobuf.internal.ProtobufDecoder.decodeSerializableValue(ProtobufDecoding.kt:224)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.serialization.protobuf.internal.ProtobufTaggedDecoder.decodeSerializableElement(ProtobufTaggedDecoder.kt:82)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.context.AccountSecretsImpl$$serializer.deserialize(AccountSecrets.kt:60)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.context.AccountSecretsImpl$$serializer.deserialize(AccountSecrets.kt:60)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.serialization.protobuf.internal.ProtobufDecoder.decodeSerializableValue(ProtobufDecoding.kt:224)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.serialization.protobuf.internal.ProtobufDecoder.decodeSerializableValue(ProtobufDecoding.kt:214)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.serialization.protobuf.ProtoBuf.decodeFromByteArray(ProtoBuf.kt:137)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.io.serialization.SerializationUtils__UtilsKt.loadAs(utils.kt:162)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.utils.io.serialization.SerializationUtils.loadAs(utils.kt:1)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.FileCacheAccountSecretsManager.getSecretsImpl(AccountSecretsManager.kt:96)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.FileCacheAccountSecretsManager.getSecrets(AccountSecretsManager.kt:90)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.CombinedAccountSecretsManager.getSecrets(AccountSecretsManager.kt:127)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.AccountSecretsManagerKt.getSecretsOrCreate(AccountSecretsManager.kt:43)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl.createClient(BotClientHolder.kt:37)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl.access$createClient(BotClientHolder.kt:25)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl$client$2.invoke(BotClientHolder.kt:29)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl$client$2.invoke(BotClientHolder.kt:29)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.utils.LateinitMutableProperty.getValue(LateinitMutableProperty.kt:38)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl.getClient(BotClientHolder.kt:29)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.SsoProcessorImpl.getClient(SsoProcessor.kt:81)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:95)
[01:07:11 WARN]:  at MiraiMC.jar//net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler$StateConnecting$1.invokeSuspend(NettyNetworkHandler.kt:269)
[01:07:11 WARN]:  at MiraiMC.jar//kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
[01:07:11 WARN]:  at MiraiMC.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
[01:07:11 WARN]: Caused by: java.util.jar.JarException: The JCE Provider file:/D:/CatLand/MCSManager_8.6.23_Win64/server/server_core/OriginRemake/plugins/MiraiMC.jar is not signed.
[01:07:11 WARN]:  at java.base/javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:463)
[01:07:11 WARN]:  at java.base/javax.crypto.JarVerifier.verifyJars(JarVerifier.java:316)
[01:07:11 WARN]:  at java.base/javax.crypto.JarVerifier.verify(JarVerifier.java:259)
[01:07:11 WARN]:  at java.base/javax.crypto.ProviderVerifier.verify(ProviderVerifier.java:129)
[01:07:11 WARN]:  at java.base/javax.crypto.JceSecurity.verifyProvider(JceSecurity.java:189)
[01:07:11 WARN]:  at java.base/javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:217)
[01:07:11 WARN]:  at java.base/javax.crypto.JceSecurity.getInstance(JceSecurity.java:127)
[01:07:11 WARN]:  ... 37 more
@Maplefsnow Maplefsnow added the 漏洞 有些东西爆炸了 label Aug 18, 2021
@DreamVoid
Copy link
Owner

DreamVoid commented Aug 18, 2021 via email

@Maplefsnow
Copy link
Author

已经使用了最新版本的MiraiMC:

<dependency>
            <groupId>io.github.dreamvoid</groupId>
            <artifactId>MiraiMC</artifactId>
            <version>1.3.2</version>
            <scope>provided</scope>
        </dependency>

那么有关无法发送群消息的问题是否有解决方案?调试的时候有时可以正常运行,有时则不行,非常奇怪。

@DreamVoid
Copy link
Owner

DreamVoid commented Aug 18, 2021 via email

@Maplefsnow
Copy link
Author

接收不到机器人发送的消息,尤其是有时可以接收到有时不行,多半是腾讯屏蔽了机器人的消息,此情况下无解,建议在常用登录IP上测试机器人(有时就算常用IP也会被屏蔽)

------------------ Original ------------------ From: "DreamVoid/MiraiMC" @.>; Date: Thu, Aug 19, 2021 01:23 AM @.>; @.@.>; Subject: Re: [DreamVoid/MiraiMC] 群消息无法发送 (#32) 已经使用了最新版本的MiraiMC: <dependency> <groupId>io.github.dreamvoid</groupId> <artifactId>MiraiMC</artifactId> <version>1.3.2</version> <scope>provided</scope> </dependency> 那么有关无法发送群消息的问题是否有解决方案?调试的时候有时可以正常运行,有时则不行,非常奇怪。 — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe.

我已知晓,谢谢您深夜回复我的issue。
不胜感激。

@DreamVoid DreamVoid removed the 漏洞 有些东西爆炸了 label Aug 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants