From d7b493cd34315d25d1a0f5e637bc8a51981e36fd Mon Sep 17 00:00:00 2001 From: Him188 Date: Sat, 26 Jun 2021 16:11:11 +0800 Subject: [PATCH] Use internal types in implementations of properties in `Bot` --- .../src/commonMain/kotlin/AbstractBot.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/AbstractBot.kt b/mirai-core/src/commonMain/kotlin/AbstractBot.kt index c07bf9558..d3a8246ab 100644 --- a/mirai-core/src/commonMain/kotlin/AbstractBot.kt +++ b/mirai-core/src/commonMain/kotlin/AbstractBot.kt @@ -13,13 +13,13 @@ package net.mamoe.mirai.internal import kotlinx.coroutines.* import net.mamoe.mirai.Bot import net.mamoe.mirai.Mirai -import net.mamoe.mirai.contact.* +import net.mamoe.mirai.contact.ContactList import net.mamoe.mirai.event.EventChannel import net.mamoe.mirai.event.GlobalEventChannel import net.mamoe.mirai.event.events.BotEvent +import net.mamoe.mirai.internal.contact.* import net.mamoe.mirai.internal.contact.info.FriendInfoImpl import net.mamoe.mirai.internal.contact.info.StrangerInfoImpl -import net.mamoe.mirai.internal.contact.uin import net.mamoe.mirai.internal.network.component.ComponentStorage import net.mamoe.mirai.internal.network.components.SsoProcessor import net.mamoe.mirai.internal.network.handler.NetworkHandler @@ -90,13 +90,15 @@ internal abstract class AbstractBot constructor( final override val eventChannel: EventChannel = GlobalEventChannel.filterIsInstance().filter { it.bot === this@AbstractBot } - final override val otherClients: ContactList = ContactList() - final override val friends: ContactList = ContactList() - final override val groups: ContactList = ContactList() - final override val strangers: ContactList = ContactList() + final override val otherClients: ContactList = ContactList() + final override val friends: ContactList = ContactList() + final override val groups: ContactList = ContactList() + final override val strangers: ContactList = ContactList() - final override val asFriend: Friend by lazy { Mirai.newFriend(this, FriendInfoImpl(uin, nick, "")) } - final override val asStranger: Stranger by lazy { Mirai.newStranger(this, StrangerInfoImpl(bot.id, bot.nick)) } + final override val asFriend: FriendImpl by lazy { Mirai.newFriend(this, FriendInfoImpl(uin, nick, "")).cast() } + final override val asStranger: StrangerImpl by lazy { + Mirai.newStranger(this, StrangerInfoImpl(bot.id, bot.nick)).cast() + } override fun close(cause: Throwable?) { if (!this.isActive) return