mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-08 01:00:13 +08:00
Make CancellableEvent
an interface, introduce AbstractCancellableEvent
This commit is contained in:
parent
001ad975b9
commit
a322ce735b
@ -10,10 +10,10 @@
|
||||
package net.mamoe.mirai.qqandroid.event
|
||||
|
||||
import net.mamoe.mirai.data.Packet
|
||||
import net.mamoe.mirai.event.Cancellable
|
||||
import net.mamoe.mirai.event.AbstractCancellableEvent
|
||||
import net.mamoe.mirai.event.Event
|
||||
|
||||
/**
|
||||
* 接收到数据包
|
||||
*/
|
||||
class PacketReceivedEvent(val packet: Packet) : Event(), Cancellable
|
||||
data class PacketReceivedEvent(val packet: Packet) : Event, AbstractCancellableEvent()
|
@ -23,11 +23,8 @@ import net.mamoe.mirai.contact.Member
|
||||
import net.mamoe.mirai.contact.MemberPermission
|
||||
import net.mamoe.mirai.data.MultiPacket
|
||||
import net.mamoe.mirai.data.Packet
|
||||
import net.mamoe.mirai.event.BroadcastControllable
|
||||
import net.mamoe.mirai.event.Event
|
||||
import net.mamoe.mirai.event.broadcast
|
||||
import net.mamoe.mirai.event.*
|
||||
import net.mamoe.mirai.event.events.ForceOfflineEvent
|
||||
import net.mamoe.mirai.event.subscribeAlways
|
||||
import net.mamoe.mirai.network.BotNetworkHandler
|
||||
import net.mamoe.mirai.qqandroid.GroupImpl
|
||||
import net.mamoe.mirai.qqandroid.MemberImpl
|
||||
@ -347,7 +344,7 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
||||
}
|
||||
|
||||
// check top-level cancelling
|
||||
if (PacketReceivedEvent(packet).broadcast().cancelled) {
|
||||
if (PacketReceivedEvent(packet).broadcast().isCancelled) {
|
||||
return
|
||||
}
|
||||
|
||||
@ -360,7 +357,7 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
||||
packet.broadcast()
|
||||
}
|
||||
|
||||
if (packet is Cancellable && packet.cancelled) return
|
||||
if (packet is CancellableEvent && packet.isCancelled) return
|
||||
}
|
||||
|
||||
bot.logger.info("Received packet: ${packet.toString().replace("\n", """\n""").replace("\r", "")}")
|
||||
|
@ -37,7 +37,7 @@ expect abstract class MessagePacket<TSender : QQ, TSubject : Contact>(bot: Bot)
|
||||
*/ // Tips: 在 IntelliJ 中 (左侧边栏) 打开 `Structure`, 可查看类结构
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
@MiraiInternalAPI
|
||||
abstract class MessagePacketBase<TSender : QQ, TSubject : Contact>(_bot: Bot) : EventPacket, BotEvent() {
|
||||
abstract class MessagePacketBase<TSender : QQ, TSubject : Contact>(_bot: Bot) : EventPacket, BotEvent {
|
||||
/**
|
||||
* 接受到这条消息的
|
||||
*/
|
||||
|
@ -12,6 +12,7 @@ package net.mamoe.mirai.event
|
||||
import kotlinx.coroutines.CompletableJob
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import net.mamoe.mirai.test.shouldBeEqualTo
|
||||
import kotlin.system.exitProcess
|
||||
import kotlin.test.Test
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user