S0me events

This commit is contained in:
jiahua.liu 2020-02-10 22:45:19 +08:00
parent bf91d3780b
commit 79bf367013

View File

@ -10,7 +10,12 @@
package net.mamoe.mirai.event.events
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.Group
import net.mamoe.mirai.contact.Member
import net.mamoe.mirai.contact.MemberPermission
import net.mamoe.mirai.event.Event
import net.mamoe.mirai.utils.WeakRef
import kotlin.properties.Delegates
abstract class BotEvent : Event {
@ -27,3 +32,67 @@ abstract class BotEvent : Event {
class BotLoginSucceedEvent(bot: Bot) : BotEvent(bot)
class BotOfflineEvent(bot: Bot) : BotEvent(bot)
class BotReadyEvent(bot: Bot) : BotEvent(bot)
interface GroupEvent {
val group: Group
}
class AddGroupEvent(bot: Bot, override val group: Group) : BotEvent(bot), GroupEvent
class RemoveGroupEvent(bot: Bot, override val group: Group) : BotEvent(bot), GroupEvent
class BotGroupPermissionChangeEvent(
bot: Bot,
override val group: Group,
val origin: MemberPermission,
val new: MemberPermission
) : BotEvent(bot), GroupEvent
interface GroupSettingChangeEvent<T> : GroupEvent {
val origin: T
val new: T
}
class GroupNameChangeEvent(
bot: Bot,
override val group: Group,
override val origin: String,
override val new: String
) : BotEvent(bot), GroupSettingChangeEvent<String>
class GroupMuteAllEvent(
bot: Bot,
override val group: Group,
override val origin: Boolean,
override val new: Boolean
) : BotEvent(bot), GroupSettingChangeEvent<Boolean>
class GroupConfessTalkEvent(
bot: Bot,
override val group: Group,
override val origin: Boolean,
override val new: Boolean
) : BotEvent(bot), GroupSettingChangeEvent<Boolean>
interface GroupMemberEvent : GroupEvent {
val member: Member
override val group: Group
get() = member.group
}
class MemberJoinEvent(bot: Bot, override val member: Member) : BotEvent(bot), GroupMemberEvent
class MemberLeftEvent(bot: Bot, override val member: Member) : BotEvent(bot), GroupMemberEvent
class MemberMuteEvent(bot: Bot, override val member: Member) : BotEvent(bot), GroupMemberEvent
class MemberPermissionChangeEvent(
bot: Bot,
override val member: Member,
val origin: MemberPermission,
val new: MemberPermission
) : BotEvent(bot), GroupMemberEvent