diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt index 1e171b891..79f888a41 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt @@ -13,6 +13,7 @@ import net.mamoe.mirai.Bot import net.mamoe.mirai.contact.* import net.mamoe.mirai.data.Packet import net.mamoe.mirai.event.AbstractCancellableEvent +import net.mamoe.mirai.event.BroadcastControllable import net.mamoe.mirai.event.CancellableEvent import net.mamoe.mirai.message.data.Image import net.mamoe.mirai.message.data.MessageChain @@ -120,16 +121,19 @@ data class BotGroupPermissionChangeEvent( override val group: Group, val origin: MemberPermission, val new: MemberPermission -) : BotPassiveEvent, GroupEvent +) : BotPassiveEvent, GroupEvent, Packet // region 群设置 /** * 群设置改变. 此事件广播前修改就已经完成. */ -interface GroupSettingChangeEvent : GroupEvent, BotPassiveEvent { +interface GroupSettingChangeEvent : GroupEvent, BotPassiveEvent, BroadcastControllable { val origin: T val new: T + + override val shouldBroadcast: Boolean + get() = origin != new } /** @@ -138,7 +142,8 @@ interface GroupSettingChangeEvent : GroupEvent, BotPassiveEvent { data class GroupNameChangeEvent( override val origin: String, override val new: String, - override val group: Group + override val group: Group, + val isByBot: Boolean ) : GroupSettingChangeEvent, Packet /** @@ -187,7 +192,8 @@ data class GroupAllowAnonymousChatEvent( data class GroupAllowConfessTalkEvent( override val origin: Boolean, override val new: Boolean, - override val group: Group + override val group: Group, + val isByBot: Boolean ) : GroupSettingChangeEvent, Packet /** @@ -299,7 +305,7 @@ data class MemberPermissionChangeEvent( // region 禁言 /** - * 群成员被禁言事件. 操作人和被禁言的成员都不可能是机器人本人 + * 群成员被禁言事件. 被禁言的成员都不可能是机器人本人 */ data class MemberMuteEvent( override val member: Member, @@ -311,7 +317,7 @@ data class MemberMuteEvent( ) : GroupMemberEvent, Packet /** - * 群成员被取消禁言事件. 操作人和被禁言的成员都不可能是机器人本人 + * 群成员被取消禁言事件. 被禁言的成员都不可能是机器人本人 */ data class MemberUnmuteEvent( override val member: Member,