mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-13 14:50:43 +08:00
Implement BroadcastControllable, so duplicated events are ignored
This commit is contained in:
parent
ec115e83b1
commit
e3241654dc
@ -13,6 +13,7 @@ import net.mamoe.mirai.Bot
|
|||||||
import net.mamoe.mirai.contact.*
|
import net.mamoe.mirai.contact.*
|
||||||
import net.mamoe.mirai.data.Packet
|
import net.mamoe.mirai.data.Packet
|
||||||
import net.mamoe.mirai.event.AbstractCancellableEvent
|
import net.mamoe.mirai.event.AbstractCancellableEvent
|
||||||
|
import net.mamoe.mirai.event.BroadcastControllable
|
||||||
import net.mamoe.mirai.event.CancellableEvent
|
import net.mamoe.mirai.event.CancellableEvent
|
||||||
import net.mamoe.mirai.message.data.Image
|
import net.mamoe.mirai.message.data.Image
|
||||||
import net.mamoe.mirai.message.data.MessageChain
|
import net.mamoe.mirai.message.data.MessageChain
|
||||||
@ -120,16 +121,19 @@ data class BotGroupPermissionChangeEvent(
|
|||||||
override val group: Group,
|
override val group: Group,
|
||||||
val origin: MemberPermission,
|
val origin: MemberPermission,
|
||||||
val new: MemberPermission
|
val new: MemberPermission
|
||||||
) : BotPassiveEvent, GroupEvent
|
) : BotPassiveEvent, GroupEvent, Packet
|
||||||
|
|
||||||
// region 群设置
|
// region 群设置
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 群设置改变. 此事件广播前修改就已经完成.
|
* 群设置改变. 此事件广播前修改就已经完成.
|
||||||
*/
|
*/
|
||||||
interface GroupSettingChangeEvent<T> : GroupEvent, BotPassiveEvent {
|
interface GroupSettingChangeEvent<T> : GroupEvent, BotPassiveEvent, BroadcastControllable {
|
||||||
val origin: T
|
val origin: T
|
||||||
val new: T
|
val new: T
|
||||||
|
|
||||||
|
override val shouldBroadcast: Boolean
|
||||||
|
get() = origin != new
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -138,7 +142,8 @@ interface GroupSettingChangeEvent<T> : GroupEvent, BotPassiveEvent {
|
|||||||
data class GroupNameChangeEvent(
|
data class GroupNameChangeEvent(
|
||||||
override val origin: String,
|
override val origin: String,
|
||||||
override val new: String,
|
override val new: String,
|
||||||
override val group: Group
|
override val group: Group,
|
||||||
|
val isByBot: Boolean
|
||||||
) : GroupSettingChangeEvent<String>, Packet
|
) : GroupSettingChangeEvent<String>, Packet
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -187,7 +192,8 @@ data class GroupAllowAnonymousChatEvent(
|
|||||||
data class GroupAllowConfessTalkEvent(
|
data class GroupAllowConfessTalkEvent(
|
||||||
override val origin: Boolean,
|
override val origin: Boolean,
|
||||||
override val new: Boolean,
|
override val new: Boolean,
|
||||||
override val group: Group
|
override val group: Group,
|
||||||
|
val isByBot: Boolean
|
||||||
) : GroupSettingChangeEvent<Boolean>, Packet
|
) : GroupSettingChangeEvent<Boolean>, Packet
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -299,7 +305,7 @@ data class MemberPermissionChangeEvent(
|
|||||||
// region 禁言
|
// region 禁言
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 群成员被禁言事件. 操作人和被禁言的成员都不可能是机器人本人
|
* 群成员被禁言事件. 被禁言的成员都不可能是机器人本人
|
||||||
*/
|
*/
|
||||||
data class MemberMuteEvent(
|
data class MemberMuteEvent(
|
||||||
override val member: Member,
|
override val member: Member,
|
||||||
@ -311,7 +317,7 @@ data class MemberMuteEvent(
|
|||||||
) : GroupMemberEvent, Packet
|
) : GroupMemberEvent, Packet
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 群成员被取消禁言事件. 操作人和被禁言的成员都不可能是机器人本人
|
* 群成员被取消禁言事件. 被禁言的成员都不可能是机器人本人
|
||||||
*/
|
*/
|
||||||
data class MemberUnmuteEvent(
|
data class MemberUnmuteEvent(
|
||||||
override val member: Member,
|
override val member: Member,
|
||||||
|
Loading…
Reference in New Issue
Block a user