Skip to content

Commit

Permalink
everything should be internal
Browse files Browse the repository at this point in the history
  • Loading branch information
MrXiaoM committed Jan 19, 2024
1 parent 0e0594f commit 3efe7e0
Show file tree
Hide file tree
Showing 32 changed files with 159 additions and 156 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import net.mamoe.mirai.auth.BotAuthorization
import net.mamoe.mirai.utils.BotConfiguration
import top.mrxiaom.overflow.internal.contact.BotWrapper

object BotFactoryImpl : BotFactory {
internal object BotFactoryImpl : BotFactory {
internal var internalBot: cn.evolvefield.onebot.client.core.Bot? = null
val bot: cn.evolvefield.onebot.client.core.Bot
get() = internalBot!!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package top.mrxiaom.overflow.internal

import cn.evole.onebot.sdk.action.ActionRaw
import cn.evole.onebot.sdk.response.contact.FriendInfoResp
import cn.evole.onebot.sdk.response.contact.StrangerInfoResp
import cn.evolvefield.onebot.client.config.BotConfig
import cn.evolvefield.onebot.client.connection.ConnectFactory
import cn.evolvefield.onebot.client.handler.EventBus
Expand Down Expand Up @@ -45,9 +44,9 @@ import java.io.File
import kotlin.coroutines.CoroutineContext
import kotlin.system.exitProcess

val Bot.asOnebot: BotWrapper
internal val Bot.asOnebot: BotWrapper
get() = this as? BotWrapper ?: throw IllegalStateException("Bot 非 Overflow 实现")
fun ActionRaw.check(failMsg: String): Boolean {
internal fun ActionRaw.check(failMsg: String): Boolean {
if (retCode != 0) {
Overflow.logger.warning("$failMsg, status=$status, retCode=$retCode, echo=$echo")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.cancellation.CancellationException

@OptIn(MiraiInternalApi::class, LowLevelApi::class)
class BotWrapper private constructor(
internal class BotWrapper private constructor(
implBot: Bot,
defLoginInfo: LoginInfoResp,
botConfiguration: BotConfiguration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import top.mrxiaom.overflow.internal.utils.safeMessageIds
import top.mrxiaom.overflow.spi.FileService
import kotlin.coroutines.CoroutineContext

class FriendWrapper(
internal class FriendWrapper(
val botWrapper: BotWrapper,
internal var impl: FriendInfoResp,
) : Friend {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import top.mrxiaom.overflow.spi.FileService
import kotlin.coroutines.CoroutineContext

@OptIn(MiraiInternalApi::class)
class GroupWrapper(
internal class GroupWrapper(
val botWrapper: BotWrapper,
internal var impl: GroupInfoResp
) : Group, RemoteGroup, Updatable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import top.mrxiaom.overflow.spi.FileService
import kotlin.coroutines.CoroutineContext

@OptIn(MiraiInternalApi::class)
class MemberWrapper(
internal class MemberWrapper(
val botWrapper: BotWrapper,
val groupWrapper: GroupWrapper,
internal var impl: GroupMemberInfoResp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import top.mrxiaom.overflow.internal.message.OnebotMessages
import top.mrxiaom.overflow.spi.FileService
import kotlin.coroutines.CoroutineContext

class OtherClientWrapper(
internal class OtherClientWrapper(
val botWrapper: BotWrapper,
override var info: OtherClientInfo
) : OtherClient {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import top.mrxiaom.overflow.internal.utils.safeMessageIds
import top.mrxiaom.overflow.spi.FileService
import kotlin.coroutines.CoroutineContext

class StrangerWrapper(
internal class StrangerWrapper(
val botWrapper: BotWrapper,
internal var impl: StrangerInfoResp,
) : Stranger {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import top.mrxiaom.overflow.internal.contact.GroupWrapper
import top.mrxiaom.overflow.internal.utils.FastImageInfo
import top.mrxiaom.overflow.spi.FileService

class AnnouncementsWrapper(
internal class AnnouncementsWrapper(
val impl: GroupWrapper,
val list: List<OnlineAnnouncementWrapper>
) : Announcements {
Expand Down Expand Up @@ -75,7 +75,7 @@ class AnnouncementsWrapper(
}
}

class OnlineAnnouncementWrapper(
internal class OnlineAnnouncementWrapper(
override val content: String,
override val group: Group,
override val senderId: Long,
Expand All @@ -87,5 +87,5 @@ class OnlineAnnouncementWrapper(
override val sender: NormalMember? = group[senderId],
) : OnlineAnnouncement

val AnnouncementImage.file: String
internal val AnnouncementImage.file: String
get() = if (url.contains("\n")) url.split("\n")[1] else url
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import net.mamoe.mirai.utils.MiraiInternalApi
import top.mrxiaom.overflow.internal.contact.GroupWrapper
import top.mrxiaom.overflow.internal.utils.shareDigest

class EssencesWrapper(
internal class EssencesWrapper(
val impl: GroupWrapper,
private var list: List<EssenceMessageRecord>
) : Essences {
Expand Down Expand Up @@ -52,7 +52,7 @@ class EssencesWrapper(

companion object {
@OptIn(MiraiInternalApi::class)
suspend fun GroupWrapper.fetchEssencesList(page: Int = 0): List<EssenceMessageRecord> {
internal suspend fun GroupWrapper.fetchEssencesList(page: Int = 0): List<EssenceMessageRecord> {
return botWrapper.impl.getEssenceMsgList(id, page).data.map {
EssenceMessageRecord(
this, queryMember(it.senderId), it.senderId, it.senderNick, it.senderTime.toInt(),
Expand All @@ -71,7 +71,7 @@ class EssencesWrapper(
}
}
}
suspend fun GroupWrapper.fetchEssences(): EssencesWrapper {
internal suspend fun GroupWrapper.fetchEssences(): EssencesWrapper {
return EssencesWrapper(this, fetchEssencesList())
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import net.mamoe.mirai.contact.checkBotPermission
import net.mamoe.mirai.utils.MiraiExperimentalApi
import top.mrxiaom.overflow.internal.contact.GroupWrapper

class GroupSettingsWrapper(
internal class GroupSettingsWrapper(
val group: GroupWrapper
) : GroupSettings {
@Deprecated(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import top.mrxiaom.overflow.internal.contact.MemberWrapper
import top.mrxiaom.overflow.internal.utils.httpGet

@OptIn(MiraiInternalApi::class)
class MemberActiveWrapper(
internal class MemberActiveWrapper(
val member: MemberWrapper
) : MemberActive {
val honorsInternal: HashSet<GroupHonorType> = hashSetOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ import top.mrxiaom.overflow.internal.utils.toMiraiFolders
import top.mrxiaom.overflow.spi.FileService
import java.util.stream.Stream

class RemoteFilesWrapper(
internal class RemoteFilesWrapper(
override val contact: GroupWrapper,
override val root: FolderWrapper
) : RemoteFiles {
companion object {
suspend fun GroupWrapper.fetchFiles(): RemoteFilesWrapper {
internal suspend fun GroupWrapper.fetchFiles(): RemoteFilesWrapper {
val data = botWrapper.impl.getGroupRootFiles(id).data

val root = FolderWrapper(
Expand All @@ -33,8 +33,7 @@ class RemoteFilesWrapper(
}
}


class FolderWrapper(
internal class FolderWrapper(
override val contact: GroupWrapper,
override val parent: AbsoluteFolder? = null,
override val id: String,
Expand Down Expand Up @@ -171,7 +170,7 @@ class FolderWrapper(
}
}

class FileWrapper(
internal class FileWrapper(
override val contact: GroupWrapper,
override val parent: FolderWrapper?,
override val id: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,21 @@ import net.mamoe.mirai.data.GroupHonorType
import net.mamoe.mirai.data.MemberInfo
import net.mamoe.mirai.data.StrangerInfo

class FriendInfoImpl(
internal class FriendInfoImpl(
override val uin: Long,
override val nick: String,
override var remark: String,
override val friendGroupId: Int = 0
) : FriendInfo

class StrangerInfoImpl(
internal class StrangerInfoImpl(
override val uin: Long,
override val nick: String,
override val fromGroup: Long = 0,
override val remark: String = "",
): StrangerInfo

class MemberInfoImpl(
internal class MemberInfoImpl(
override val honors: Set<GroupHonorType>,
override val isOfficialBot: Boolean,
override val joinTimestamp: Int,
Expand All @@ -43,20 +43,20 @@ class MemberInfoImpl(
override val uin: Long
): MemberInfo

val FriendInfo.asOnebot: FriendInfoResp
internal val FriendInfo.asOnebot: FriendInfoResp
get() = FriendInfoResp(uin, nick, remark)
val StrangerInfo.asOnebot: StrangerInfoResp
internal val StrangerInfo.asOnebot: StrangerInfoResp
get() = StrangerInfoResp(uin, nick, "", 0, "", 0, 0, JsonObject().also {
if (fromGroup > 0) it.addProperty("add_src_id", fromGroup)
})
val StrangerInfoResp.asMirai: StrangerInfo
internal val StrangerInfoResp.asMirai: StrangerInfo
get() = StrangerInfoImpl(
uin = userId,
nick = nickname,
fromGroup = ext?.get("add_src_id")?.asLong ?: 0,
)

val GroupMemberInfoResp.asMirai: MemberInfoImpl
internal val GroupMemberInfoResp.asMirai: MemberInfoImpl
get() = MemberInfoImpl(setOf(), false, joinTime, lastSentTime, 0, card,
when(role) {
"owner" -> MemberPermission.OWNER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package top.mrxiaom.overflow.internal.data

import net.mamoe.mirai.data.UserProfile

class UserProfileImpl(
internal class UserProfileImpl(
override val age: Int,
override val email: String,
override val friendGroupId: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,21 @@ import cn.evole.onebot.sdk.event.message.PrivateMessageEvent
import cn.evole.onebot.sdk.event.request.FriendAddRequestEvent
import cn.evolvefield.onebot.client.handler.EventBus
import cn.evolvefield.onebot.client.listener.EventListener
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.*
import net.mamoe.mirai.contact.remarkOrNick
import net.mamoe.mirai.event.broadcast
import net.mamoe.mirai.event.events.FriendMessageEvent
import net.mamoe.mirai.event.events.NewFriendRequestEvent
import net.mamoe.mirai.event.events.StrangerMessageEvent
import net.mamoe.mirai.message.data.MessageChain
import net.mamoe.mirai.message.data.OnlineMessageSource
import net.mamoe.mirai.utils.MiraiInternalApi
import top.mrxiaom.overflow.internal.Overflow
import top.mrxiaom.overflow.internal.contact.BotWrapper
import top.mrxiaom.overflow.internal.message.OnebotMessages
import top.mrxiaom.overflow.internal.message.data.IncomingSource
import top.mrxiaom.overflow.internal.utils.*
import top.mrxiaom.overflow.internal.utils.queryProfile
import top.mrxiaom.overflow.internal.utils.wrapAsFriend
import top.mrxiaom.overflow.internal.utils.wrapAsStranger

fun EventBus.addFriendListeners(bot: BotWrapper) {
internal fun EventBus.addFriendListeners(bot: BotWrapper) {
listOf(
FriendMessageListener(bot),
FriendAddRequestListener(bot),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,19 @@ import cn.evole.onebot.sdk.event.notice.group.GroupTitleChangeNoticeEvent
import cn.evole.onebot.sdk.event.request.GroupAddRequestEvent
import cn.evolvefield.onebot.client.handler.EventBus
import cn.evolvefield.onebot.client.listener.EventListener
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.Member
import net.mamoe.mirai.contact.nameCardOrNick
import net.mamoe.mirai.event.broadcast
import net.mamoe.mirai.event.events.*
import net.mamoe.mirai.message.data.*
import net.mamoe.mirai.utils.MiraiInternalApi
import top.mrxiaom.overflow.internal.Overflow
import top.mrxiaom.overflow.internal.contact.BotWrapper
import top.mrxiaom.overflow.internal.message.OnebotMessages
import top.mrxiaom.overflow.internal.message.data.IncomingSource
import top.mrxiaom.overflow.internal.utils.*
import top.mrxiaom.overflow.internal.utils.group
import top.mrxiaom.overflow.internal.utils.queryProfile
import top.mrxiaom.overflow.internal.utils.wrapAsMember

fun EventBus.addGroupListeners(bot: BotWrapper) {
internal fun EventBus.addGroupListeners(bot: BotWrapper) {
listOf(
GroupMessageListener(bot),
GroupNotifyListener(bot),
Expand Down
Loading

0 comments on commit 3efe7e0

Please sign in to comment.