diff --git a/gradle.properties b/gradle.properties index f32f751bd..6f6a62feb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # style guide kotlin.code.style=official # config -mirai_version=0.6.1 +mirai_version=0.7.0 kotlin.incremental.multiplatform=true kotlin.parallel.tasks.in.project=true # kotlin diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/internal/ContactImpl.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/internal/ContactImpl.kt index 1b0a492bd..189f9d466 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/internal/ContactImpl.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/contact/internal/ContactImpl.kt @@ -7,10 +7,7 @@ import net.mamoe.mirai.Bot import net.mamoe.mirai.contact.* import net.mamoe.mirai.contact.data.Profile import net.mamoe.mirai.event.subscribeAlways -import net.mamoe.mirai.message.Message import net.mamoe.mirai.message.MessageChain -import net.mamoe.mirai.message.chain -import net.mamoe.mirai.message.singleChain import net.mamoe.mirai.network.protocol.tim.packet.action.* import net.mamoe.mirai.network.protocol.tim.packet.event.MemberJoinEventPacket import net.mamoe.mirai.network.protocol.tim.packet.event.MemberQuitEvent @@ -26,11 +23,6 @@ import kotlin.coroutines.CoroutineContext internal sealed class ContactImpl : Contact { abstract override suspend fun sendMessage(message: MessageChain) - //这两个方法应写为扩展函数, 但为方便 import 还是写在这里 - override suspend fun sendMessage(plain: String) = sendMessage(plain.singleChain()) - - override suspend fun sendMessage(message: Message) = sendMessage(message.chain()) - /** * 开始监听事件, 以同步更新资料 */ diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/packet/action/AddContact.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/packet/action/AddContact.kt index aee96810f..82cb97aec 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/packet/action/AddContact.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/packet/action/AddContact.kt @@ -9,6 +9,7 @@ import net.mamoe.mirai.network.protocol.tim.TIMProtocol import net.mamoe.mirai.network.protocol.tim.packet.* import net.mamoe.mirai.network.protocol.tim.packet.event.EventPacket import net.mamoe.mirai.utils.io.* +import net.mamoe.mirai.withSession /** @@ -87,26 +88,27 @@ object CanAddFriendPacket : SessionPacketFactory() { writeQQ(qq) } - override suspend fun ByteReadPacket.decode(id: PacketId, sequenceId: UShort, handler: BotNetworkHandler<*>): CanAddFriendResponse = with(handler.bot) { - if (remaining > 20) {//todo check - return CanAddFriendResponse.AlreadyAdded(readUInt().qq()) + override suspend fun ByteReadPacket.decode(id: PacketId, sequenceId: UShort, handler: BotNetworkHandler<*>): CanAddFriendResponse = + handler.bot.withSession { + if (remaining > 20) {//todo check + return CanAddFriendResponse.AlreadyAdded(readUInt().qq()) + } + val qq: QQ = readUInt().qq() + + // debugDiscardExact(1) + + return when (val state = readUByte().toUInt()) { + //09 4E A4 B1 00 03 + 0x00u -> CanAddFriendResponse.ReadyToAdd(qq) + + 0x01u -> CanAddFriendResponse.RequireVerification(qq) + 0x99u -> CanAddFriendResponse.AlreadyAdded(qq) + + 0x03u, + 0x04u -> CanAddFriendResponse.Rejected(qq) + else -> error(state.toString()) + } } - val qq: QQ = readUInt().qq() - - // debugDiscardExact(1) - - return when (val state = readUByte().toUInt()) { - //09 4E A4 B1 00 03 - 0x00u -> CanAddFriendResponse.ReadyToAdd(qq) - - 0x01u -> CanAddFriendResponse.RequireVerification(qq) - 0x99u -> CanAddFriendResponse.AlreadyAdded(qq) - - 0x03u, - 0x04u -> CanAddFriendResponse.Rejected(qq) - else -> error(state.toString()) - } - } }