Him188

Results 701 comments of Him188

``` [10:34:48.065] [net.mamoe.mirai.Bot/TRACE] Event: BotOfflineEvent.Dropped(bot=Bot({botId2}), cause=NettyChannelException(message=null, cause=null), reconnect=true) [10:34:48.090] [net.mamoe.mirai.Bot/TRACE] Send: MessageSvc.PbSendMsg(MessageSvc.PbSendMsg) [10:34:48.309] [net.mamoe.mirai.Bot/TRACE] Event: BotOfflineEvent.Dropped(bot=Bot({botId3}), cause=NettyChannelException(message=null, cause=null), reconnect=true) [10:34:48.311] [net.mamoe.mirai.Bot/TRACE] Send: MessageSvc.PbSendMsg(MessageSvc.PbSendMsg) [10:34:48.330] [net.mamoe.mirai.Bot/TRACE] Recv: MessageSvc.PbSendMsg [10:34:48.332] [net.mamoe.mirai.Bot/WARN ]...

``` [10:34:48.563] [net.mamoe.mirai.Bot/WARN ] null net.mamoe.mirai.internal.network.impl.netty.NettyChannelException: null at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler.createConnection$lambda-3(NettyNetworkHandler.kt:177) ~[mirai-core-jvm-2.12.0.jar:2.12.0] at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-all-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552) ~[netty-all-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-all-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-all-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:605) ~[netty-all-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104) ~[netty-all-4.1.63.Final.jar:4.1.63.Final] at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)...

研究了一会, 这涉及比较复杂的逻辑, 我将会优化逻辑并补全实现中的文档

是不是可以去除 expact/actual?

那就可以去除了 最早用的 Android 内置 BC, 后来不知道为什么用不了了, 不太记得了

@AdoptOSS 是的, 现在是 JVM/Android/native, 之后可以变为 jvmBase/native, 如果有必要

@Karlatemp 我也是这样想的, 今天忙, 看了没来得及写 review 我认为造一个其他概念而不要用 `CompositeCommand` 比较好. 比如创造一个 `SubCommandGroup`, 考虑定义为接口, 也需要考虑与 `CompositeCommand` 的兼容性 (`CompositeCommand` 是否能直接使用 `SubCommandGroup` 的现有指令定义?)

我考虑了 hierarchy 的, `SubCommandGroup` 这个命名能体现层级, 你设计的 `val ` 声明语法也适合做到这一点 `SimpleCommand` 实际上是只有一个子指令的 `CompositeCommand`. `SubCommandGroup` 仍然能做到, 这就涉及我说的考虑兼容性(复用的可能性)问题.

@hundun000 是的 兼容性指的是有没有可能让开发者用 `SubCommandGroup` 写, 然后 `CompositeCommand` 可以使用这个 group 而不需要重新定义

`SubCommandGroup` 是对 `SubCommand` 的集合, 没有主指令名称, 它不能独立使用. `CompositeCommand` 拥有主指令名称, 包含一个 `SubCommandGroup` 时就包含了它的所有 `SubCommand`. 这样拥有最高的实用性?