Commit 7731a432 authored by Him188's avatar Him188

Use long instead of inline classes

parent 4ef6f7e7
...@@ -2,8 +2,6 @@ package net.mamoe.mirai.japt; ...@@ -2,8 +2,6 @@ package net.mamoe.mirai.japt;
import kotlinx.io.core.ByteReadPacket; import kotlinx.io.core.ByteReadPacket;
import net.mamoe.mirai.BotAccount; import net.mamoe.mirai.BotAccount;
import net.mamoe.mirai.contact.GroupId;
import net.mamoe.mirai.contact.GroupInternalId;
import net.mamoe.mirai.data.AddFriendResult; import net.mamoe.mirai.data.AddFriendResult;
import net.mamoe.mirai.data.ImageLink; import net.mamoe.mirai.data.ImageLink;
import net.mamoe.mirai.message.data.Image; import net.mamoe.mirai.message.data.Image;
...@@ -63,19 +61,12 @@ public interface BlockingBot { ...@@ -63,19 +61,12 @@ public interface BlockingBot {
@NotNull @NotNull
BlockingGroup getGroup(long id); BlockingGroup getGroup(long id);
/**
* 获取缓存的群对象. 若没有对应的缓存, 则会线程安全地创建一个.
* 若 {@code id} 无效, 将会抛出 {@link GroupNotFoundException}
*/
@NotNull
BlockingGroup getGroup(@NotNull GroupId id);
/** /**
* 获取缓存的群对象. 若没有对应的缓存, 则会线程安全地创建一个. * 获取缓存的群对象. 若没有对应的缓存, 则会线程安全地创建一个.
* 若 {@code internalId} 无效, 将会抛出 {@link GroupNotFoundException} * 若 {@code internalId} 无效, 将会抛出 {@link GroupNotFoundException}
*/ */
@NotNull @NotNull
BlockingGroup getGroup(@NotNull GroupInternalId internalId); BlockingGroup getGroupByInternalId(long internalId);
// endregion // endregion
......
...@@ -21,7 +21,7 @@ public final class BlockingContacts { ...@@ -21,7 +21,7 @@ public final class BlockingContacts {
return new BlockingMemberImpl(member); return new BlockingMemberImpl(member);
} }
public static BlockingBotImpl createBlocking(Bot bot) { public static BlockingBot createBlocking(Bot bot) {
return new BlockingBotImpl(bot); return new BlockingBotImpl(bot);
} }
} }
package net.mamoe.mirai.japt; package net.mamoe.mirai.japt;
import net.mamoe.mirai.contact.Group;
import net.mamoe.mirai.data.GroupInfo; import net.mamoe.mirai.data.GroupInfo;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.Map; import java.util.Map;
import java.util.NoSuchElementException;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public interface BlockingGroup extends BlockingContact { public interface BlockingGroup extends BlockingContact {
/** /**
* 内部 ID. 内部 ID 为 [GroupId] 的映射 * 内部 ID
*/ */
long getInternalId(); long getInternalId();
/** /**
* 群主 (同步事件更新) * 群主 (同步事件更新)
* 进行 [updateGroupInfo] 时将会更新这个值. * 进行 {@link #updateGroupInfo} 时将会更新这个值.
*/ */
@NotNull @NotNull
BlockingMember getOwner(); BlockingMember getOwner();
/** /**
* 群名称 (同步事件更新) * 群名称 (同步事件更新)
* 进行 [updateGroupInfo] 时将会更新这个值. * 进行 {@link #updateGroupInfo} 时将会更新这个值.
*/ */
@NotNull @NotNull
String getName(); String getName();
/** /**
* 入群公告, 没有时为空字符串. (同步事件更新) * 入群公告, 没有时为空字符串. (同步事件更新)
* 进行 [updateGroupInfo] 时将会更新这个值. * 进行 {@link #updateGroupInfo} 时将会更新这个值.
*/ */
@NotNull @NotNull
String getAnnouncement(); String getAnnouncement();
/** /**
* 在 [Group] 实例创建的时候查询一次. 并与事件同步事件更新 * 在 {@link Group} 实例创建的时候查询一次. 并与事件同步事件更新
* <p> * <p>
* **注意**: 获得的列表仅为这一时刻的成员列表的镜像. 它将不会被更新 * **注意**: 获得的列表仅为这一时刻的成员列表的镜像. 它将不会被更新
*/ */
...@@ -42,7 +44,7 @@ public interface BlockingGroup extends BlockingContact { ...@@ -42,7 +44,7 @@ public interface BlockingGroup extends BlockingContact {
Map<Long, BlockingMember> getMembers(); Map<Long, BlockingMember> getMembers();
/** /**
* 获取群成员. 若此 ID 的成员不存在, 则会抛出 [kotlin.NoSuchElementException] * 获取群成员. 若此 ID 的成员不存在, 则会抛出 {@link NoSuchElementException}
*/ */
@NotNull @NotNull
BlockingMember getMember(long id); BlockingMember getMember(long id);
......
...@@ -4,7 +4,6 @@ import kotlinx.coroutines.runBlocking ...@@ -4,7 +4,6 @@ import kotlinx.coroutines.runBlocking
import kotlinx.io.core.ByteReadPacket import kotlinx.io.core.ByteReadPacket
import net.mamoe.mirai.Bot import net.mamoe.mirai.Bot
import net.mamoe.mirai.BotAccount import net.mamoe.mirai.BotAccount
import net.mamoe.mirai.contact.GroupId
import net.mamoe.mirai.contact.GroupInternalId import net.mamoe.mirai.contact.GroupInternalId
import net.mamoe.mirai.data.AddFriendResult import net.mamoe.mirai.data.AddFriendResult
import net.mamoe.mirai.data.ImageLink import net.mamoe.mirai.data.ImageLink
...@@ -27,9 +26,8 @@ internal class BlockingBotImpl(private val bot: Bot) : BlockingBot { ...@@ -27,9 +26,8 @@ internal class BlockingBotImpl(private val bot: Bot) : BlockingBot {
@UseExperimental(MiraiInternalAPI::class) @UseExperimental(MiraiInternalAPI::class)
override fun getGroups(): List<BlockingGroup> = bot.groups.delegate.toList().map { it.blocking() } override fun getGroups(): List<BlockingGroup> = bot.groups.delegate.toList().map { it.blocking() }
override fun getGroup(id: Long): BlockingGroup = runBlocking { bot.getGroup(id) }.blocking() override fun getGroup(id: Long): BlockingGroup = runBlocking { bot.getGroup(id).blocking() }
override fun getGroup(id: GroupId): BlockingGroup = runBlocking { bot.getGroup(id) }.blocking() override fun getGroupByInternalId(internalId: Long): BlockingGroup = runBlocking { bot.getGroup(GroupInternalId(internalId)).blocking() }
override fun getGroup(internalId: GroupInternalId): BlockingGroup = runBlocking { bot.getGroup(internalId) }.blocking()
override fun getNetwork(): BotNetworkHandler = bot.network override fun getNetwork(): BotNetworkHandler = bot.network
override fun login() = runBlocking { bot.login() } override fun login() = runBlocking { bot.login() }
override fun getLink(image: Image): ImageLink = bot.run { runBlocking { image.getLink() } } override fun getLink(image: Image): ImageLink = bot.run { runBlocking { image.getLink() } }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment