|
@@ -10,7 +10,12 @@
|
|
|
package net.mamoe.mirai.event.events
|
|
package net.mamoe.mirai.event.events
|
|
|
|
|
|
|
|
import net.mamoe.mirai.Bot
|
|
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.event.Event
|
|
|
|
|
+import net.mamoe.mirai.utils.WeakRef
|
|
|
|
|
+import kotlin.properties.Delegates
|
|
|
|
|
|
|
|
|
|
|
|
|
abstract class BotEvent : Event {
|
|
abstract class BotEvent : Event {
|
|
@@ -26,4 +31,68 @@ abstract class BotEvent : Event {
|
|
|
|
|
|
|
|
class BotLoginSucceedEvent(bot: Bot) : BotEvent(bot)
|
|
class BotLoginSucceedEvent(bot: Bot) : BotEvent(bot)
|
|
|
|
|
|
|
|
-class BotOfflineEvent(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
|
|
|
|
|
+
|
|
|
|
|
+
|