Commit 250497dc authored by ryoii's avatar ryoii

Close #338

parent 2ca73a43
...@@ -18,16 +18,13 @@ import net.mamoe.mirai.LowLevelAPI ...@@ -18,16 +18,13 @@ import net.mamoe.mirai.LowLevelAPI
import net.mamoe.mirai.contact.* import net.mamoe.mirai.contact.*
import net.mamoe.mirai.data.MemberInfo import net.mamoe.mirai.data.MemberInfo
import net.mamoe.mirai.event.broadcast import net.mamoe.mirai.event.broadcast
import net.mamoe.mirai.event.events.MemberCardChangeEvent import net.mamoe.mirai.event.events.*
import net.mamoe.mirai.event.events.MemberLeaveEvent
import net.mamoe.mirai.event.events.MemberSpecialTitleChangeEvent
import net.mamoe.mirai.message.MessageReceipt import net.mamoe.mirai.message.MessageReceipt
import net.mamoe.mirai.message.data.Image import net.mamoe.mirai.message.data.*
import net.mamoe.mirai.message.data.Message
import net.mamoe.mirai.message.data.asMessageChain
import net.mamoe.mirai.message.data.isContentNotEmpty
import net.mamoe.mirai.qqandroid.QQAndroidBot import net.mamoe.mirai.qqandroid.QQAndroidBot
import net.mamoe.mirai.qqandroid.message.MessageSourceToTempImpl import net.mamoe.mirai.qqandroid.message.MessageSourceToTempImpl
import net.mamoe.mirai.qqandroid.message.ensureSequenceIdAvailable
import net.mamoe.mirai.qqandroid.message.firstIsInstanceOrNull
import net.mamoe.mirai.qqandroid.network.protocol.data.jce.StTroopMemberInfo import net.mamoe.mirai.qqandroid.network.protocol.data.jce.StTroopMemberInfo
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.TroopManagement import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.TroopManagement
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvcPbSendMsg import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvcPbSendMsg
...@@ -66,6 +63,12 @@ internal class MemberImpl constructor( ...@@ -66,6 +63,12 @@ internal class MemberImpl constructor(
} }
private suspend fun sendMessageImpl(message: Message): MessageReceipt<Member> { private suspend fun sendMessageImpl(message: Message): MessageReceipt<Member> {
val event = MessageSendEvent.TempMessageSendEvent(this, message.asMessageChain()).broadcast()
if (event.isCancelled) {
throw EventCancelledException("cancelled by TempMessageSendEvent")
}
event.message.firstIsInstanceOrNull<QuoteReply>()?.source?.ensureSequenceIdAvailable()
lateinit var source: MessageSourceToTempImpl lateinit var source: MessageSourceToTempImpl
bot.network.run { bot.network.run {
check( check(
......
...@@ -46,7 +46,10 @@ sealed class MessageSendEvent : BotEvent, BotActiveEvent, AbstractEvent() { ...@@ -46,7 +46,10 @@ sealed class MessageSendEvent : BotEvent, BotActiveEvent, AbstractEvent() {
var message: MessageChain var message: MessageChain
) : MessageSendEvent(), CancellableEvent ) : MessageSendEvent(), CancellableEvent
// TODO: 2020/4/30 添加临时会话消息发送事件 data class TempMessageSendEvent(
override val target: Member,
var message: MessageChain
) : MessageSendEvent(), CancellableEvent
} }
/** /**
......
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