Parcourir la source

Fix incompatible `Bot.instances`

Him188 il y a 5 ans
Parent
commit
331d9d5e3f
1 fichiers modifiés avec 10 ajouts et 1 suppressions
  1. 10 1
      mirai-core/src/commonMain/kotlin/net.mamoe.mirai/Bot.kt

+ 10 - 1
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/Bot.kt

@@ -55,8 +55,17 @@ abstract class Bot : CoroutineScope, LowLevelBotAPIAccessor, BotJavaFriendlyAPI(
         /**
         /**
          * 复制一份此时的 [Bot] 实例列表.
          * 复制一份此时的 [Bot] 实例列表.
          */
          */
+        @Deprecated("use botInstances instead", replaceWith = ReplaceWith("botInstances"))
         @JvmStatic
         @JvmStatic
-        val instances: List<Bot>
+        val instances: List<WeakRef<Bot>>
+            get() = BotImpl.instances.toList()
+
+        /**
+         * 复制一份此时的 [Bot] 实例列表.
+         */
+        @SinceMirai("0.39.1")
+        @JvmStatic
+        val botInstances: List<Bot>
             get() = BotImpl.instances.asSequence().mapNotNull { it.get() }.toList()
             get() = BotImpl.instances.asSequence().mapNotNull { it.get() }.toList()
 
 
         /**
         /**