Commit 2621c155 authored by Him188's avatar Him188

Change sendMessage to extension

parent 39ad1599
# style guide # style guide
kotlin.code.style=official kotlin.code.style=official
# config # config
mirai_version=0.6.1 mirai_version=0.7.0
kotlin.incremental.multiplatform=true kotlin.incremental.multiplatform=true
kotlin.parallel.tasks.in.project=true kotlin.parallel.tasks.in.project=true
# kotlin # kotlin
......
...@@ -7,10 +7,7 @@ import net.mamoe.mirai.Bot ...@@ -7,10 +7,7 @@ import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.* import net.mamoe.mirai.contact.*
import net.mamoe.mirai.contact.data.Profile import net.mamoe.mirai.contact.data.Profile
import net.mamoe.mirai.event.subscribeAlways import net.mamoe.mirai.event.subscribeAlways
import net.mamoe.mirai.message.Message
import net.mamoe.mirai.message.MessageChain 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.action.*
import net.mamoe.mirai.network.protocol.tim.packet.event.MemberJoinEventPacket import net.mamoe.mirai.network.protocol.tim.packet.event.MemberJoinEventPacket
import net.mamoe.mirai.network.protocol.tim.packet.event.MemberQuitEvent import net.mamoe.mirai.network.protocol.tim.packet.event.MemberQuitEvent
...@@ -26,11 +23,6 @@ import kotlin.coroutines.CoroutineContext ...@@ -26,11 +23,6 @@ import kotlin.coroutines.CoroutineContext
internal sealed class ContactImpl : Contact { internal sealed class ContactImpl : Contact {
abstract override suspend fun sendMessage(message: MessageChain) 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())
/** /**
* 开始监听事件, 以同步更新资料 * 开始监听事件, 以同步更新资料
*/ */
......
...@@ -9,6 +9,7 @@ import net.mamoe.mirai.network.protocol.tim.TIMProtocol ...@@ -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.*
import net.mamoe.mirai.network.protocol.tim.packet.event.EventPacket import net.mamoe.mirai.network.protocol.tim.packet.event.EventPacket
import net.mamoe.mirai.utils.io.* import net.mamoe.mirai.utils.io.*
import net.mamoe.mirai.withSession
/** /**
...@@ -87,26 +88,27 @@ object CanAddFriendPacket : SessionPacketFactory<CanAddFriendResponse>() { ...@@ -87,26 +88,27 @@ object CanAddFriendPacket : SessionPacketFactory<CanAddFriendResponse>() {
writeQQ(qq) writeQQ(qq)
} }
override suspend fun ByteReadPacket.decode(id: PacketId, sequenceId: UShort, handler: BotNetworkHandler<*>): CanAddFriendResponse = with(handler.bot) { override suspend fun ByteReadPacket.decode(id: PacketId, sequenceId: UShort, handler: BotNetworkHandler<*>): CanAddFriendResponse =
if (remaining > 20) {//todo check handler.bot.withSession {
return CanAddFriendResponse.AlreadyAdded(readUInt().qq()) if (remaining > 20) {//todo check
} return CanAddFriendResponse.AlreadyAdded(readUInt().qq())
val qq: QQ = readUInt().qq() }
val qq: QQ = readUInt().qq()
// debugDiscardExact(1) // debugDiscardExact(1)
return when (val state = readUByte().toUInt()) { return when (val state = readUByte().toUInt()) {
//09 4E A4 B1 00 03 //09 4E A4 B1 00 03
0x00u -> CanAddFriendResponse.ReadyToAdd(qq) 0x00u -> CanAddFriendResponse.ReadyToAdd(qq)
0x01u -> CanAddFriendResponse.RequireVerification(qq) 0x01u -> CanAddFriendResponse.RequireVerification(qq)
0x99u -> CanAddFriendResponse.AlreadyAdded(qq) 0x99u -> CanAddFriendResponse.AlreadyAdded(qq)
0x03u, 0x03u,
0x04u -> CanAddFriendResponse.Rejected(qq) 0x04u -> CanAddFriendResponse.Rejected(qq)
else -> error(state.toString()) else -> error(state.toString())
}
} }
}
} }
......
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