|
| 1 | +package net.mamoe.mirai.api.http.data.common |
| 2 | + |
| 3 | +import kotlinx.serialization.SerialName |
| 4 | +import kotlinx.serialization.Serializable |
| 5 | +import net.mamoe.mirai.contact.MemberPermission |
| 6 | +import net.mamoe.mirai.event.events.BotEvent |
| 7 | +import net.mamoe.mirai.event.events.* |
| 8 | +import net.mamoe.mirai.message.MessagePacket |
| 9 | +import net.mamoe.mirai.utils.MiraiExperimentalAPI |
| 10 | + |
| 11 | +@Serializable |
| 12 | +open class BotEventDTO : EventDTO() |
| 13 | + |
| 14 | +@UseExperimental(MiraiExperimentalAPI::class) |
| 15 | +fun BotEvent.toDTO() = when(this) { |
| 16 | + is MessagePacket<*, *> -> toDTO() |
| 17 | + else -> when(this) { |
| 18 | + is BotOnlineEvent -> BotOnlineEventDTO(bot.uin) |
| 19 | + is BotOfflineEvent.Active -> BotOfflineEventActiveDTO(bot.uin) |
| 20 | + is BotOfflineEvent.Force -> BotOfflineEventForceDTO(bot.uin, title, message) |
| 21 | + is BotOfflineEvent.Dropped -> BotOfflineEventDroppedDTO(bot.uin) |
| 22 | + is BotReloginEvent -> BotReloginEventDTO(bot.uin) |
| 23 | +// is MessageSendEvent.GroupMessageSendEvent -> {} |
| 24 | +// is MessageSendEvent.FriendMessageSendEvent -> {} |
| 25 | +// is BeforeImageUploadEvent -> {} |
| 26 | +// is ImageUploadEvent.Succeed -> {} |
| 27 | + is BotGroupPermissionChangeEvent -> BotGroupPermissionChangeEventDTO(origin, new, GroupDTO(group)) |
| 28 | + is BotMuteEvent -> BotMuteEventDTO(durationSeconds, MemberDTO(operator)) |
| 29 | + is BotUnmuteEvent -> BotUnmuteEventDTO(MemberDTO(operator)) |
| 30 | + is BotJoinGroupEvent -> BotJoinGroupEventDTO(GroupDTO(group)) |
| 31 | +// is GroupSettingChangeEvent<*> -> {} // 不知道会改什么 |
| 32 | + is GroupNameChangeEvent -> GroupNameChangeEventDTO(origin, new, GroupDTO(group), isByBot) |
| 33 | + is GroupEntranceAnnouncementChangeEvent -> GroupEntranceAnnouncementChangeEventDTO(origin, new, GroupDTO(group), operator?.let(::MemberDTO)) |
| 34 | + is GroupMuteAllEvent -> GroupMuteAllEventDTO(origin, new, GroupDTO(group), operator?.let(::MemberDTO)) |
| 35 | + is GroupAllowAnonymousChatEvent -> GroupAllowAnonymousChatEventDTO(origin, new, GroupDTO(group), operator?.let(::MemberDTO)) |
| 36 | + is GroupAllowConfessTalkEvent -> GroupAllowConfessTalkEventDTO(origin, new, GroupDTO(group), isByBot) |
| 37 | + is GroupAllowMemberInviteEvent -> GroupAllowMemberInviteEventDTO(origin, new, GroupDTO(group), operator?.let(::MemberDTO)) |
| 38 | + is MemberJoinEvent -> MemberJoinEventDTO(MemberDTO(member)) |
| 39 | + is MemberLeaveEvent.Kick -> MemberLeaveEventKickDTO(MemberDTO(member), operator?.let(::MemberDTO)) |
| 40 | + is MemberLeaveEvent.Quit -> MemberLeaveEventQuitDTO(MemberDTO(member)) |
| 41 | + is MemberCardChangeEvent -> MemberCardChangeEventDTO(origin, new, GroupDTO(group), operator?.let(::MemberDTO)) |
| 42 | + is MemberSpecialTitleChangeEvent -> MemberSpecialTitleChangeEventDTO(origin, new, MemberDTO(member)) |
| 43 | + is MemberPermissionChangeEvent -> MemberPermissionChangeEventDTO(origin, new, MemberDTO(member)) |
| 44 | + is MemberMuteEvent -> MemberMuteEventDTO(durationSeconds, MemberDTO(member), operator?.let(::MemberDTO)) |
| 45 | + is MemberUnmuteEvent -> MemberUnmuteEventDTO(MemberDTO(member), operator?.let(::MemberDTO)) |
| 46 | + else -> IgnoreEventDTO |
| 47 | + } |
| 48 | +} |
| 49 | + |
| 50 | +@Serializable |
| 51 | +@SerialName("BotOnlineEvent") |
| 52 | +data class BotOnlineEventDTO(val qq: Long) : BotEventDTO() |
| 53 | +@Serializable |
| 54 | +@SerialName("BotOfflineEventActive") |
| 55 | +data class BotOfflineEventActiveDTO(val qq: Long) : BotEventDTO() |
| 56 | +@Serializable |
| 57 | +@SerialName("BotOfflineEventForce") |
| 58 | +data class BotOfflineEventForceDTO(val qq: Long, val title: String, val message: String) : BotEventDTO() |
| 59 | +@Serializable |
| 60 | +@SerialName("BotOfflineEventDropped") |
| 61 | +data class BotOfflineEventDroppedDTO(val qq: Long) : BotEventDTO() |
| 62 | +@Serializable |
| 63 | +@SerialName("BotReloginEvent") |
| 64 | +data class BotReloginEventDTO(val qq: Long) : BotEventDTO() |
| 65 | +@Serializable |
| 66 | +@SerialName("BotGroupPermissionChangeEvent") |
| 67 | +data class BotGroupPermissionChangeEventDTO(val origin: MemberPermission, val new: MemberPermission, val groupDTO: GroupDTO) : BotEventDTO() |
| 68 | +@Serializable |
| 69 | +@SerialName("BotMuteEvent") |
| 70 | +data class BotMuteEventDTO(val durationSeconds: Int, val operator: MemberDTO) : BotEventDTO() |
| 71 | +@Serializable |
| 72 | +@SerialName("BotUnmuteEvent") |
| 73 | +data class BotUnmuteEventDTO(val operator: MemberDTO) : BotEventDTO() |
| 74 | +@Serializable |
| 75 | +@SerialName("BotJoinGroupEvent") |
| 76 | +data class BotJoinGroupEventDTO(val group: GroupDTO) : BotEventDTO() |
| 77 | +@Serializable |
| 78 | +@SerialName("GroupNameChangeEvent") |
| 79 | +data class GroupNameChangeEventDTO(val origin: String, val new: String, val group: GroupDTO, val isByBot: Boolean) : BotEventDTO() |
| 80 | +@Serializable |
| 81 | +@SerialName("GroupEntranceAnnouncementChangeEvent") |
| 82 | +data class GroupEntranceAnnouncementChangeEventDTO(val origin: String, val new: String, val group: GroupDTO, val operator: MemberDTO?) : BotEventDTO() |
| 83 | +@Serializable |
| 84 | +@SerialName("GroupMuteAllEvent") |
| 85 | +data class GroupMuteAllEventDTO(val origin: Boolean, val new: Boolean, val group: GroupDTO, val operator: MemberDTO?) : BotEventDTO() |
| 86 | +@Serializable |
| 87 | +@SerialName("GroupAllowAnonymousChatEvent") |
| 88 | +data class GroupAllowAnonymousChatEventDTO(val origin: Boolean, val new: Boolean, val group: GroupDTO, val operator: MemberDTO?) : BotEventDTO() |
| 89 | +@Serializable |
| 90 | +@SerialName("GroupAllowConfessTalkEvent") |
| 91 | +data class GroupAllowConfessTalkEventDTO(val origin: Boolean, val new: Boolean, val group: GroupDTO, val isByBot: Boolean) : BotEventDTO() |
| 92 | +@Serializable |
| 93 | +@SerialName("GroupAllowMemberInviteEvent") |
| 94 | +data class GroupAllowMemberInviteEventDTO(val origin: Boolean, val new: Boolean, val group: GroupDTO, val operator: MemberDTO?) : BotEventDTO() |
| 95 | +@Serializable |
| 96 | +@SerialName("MemberJoinEvent") |
| 97 | +data class MemberJoinEventDTO(val member: MemberDTO) : BotEventDTO() |
| 98 | +@Serializable |
| 99 | +@SerialName("MemberLeaveEventKick") |
| 100 | +data class MemberLeaveEventKickDTO(val member: MemberDTO, val operator: MemberDTO?) : BotEventDTO() |
| 101 | +@Serializable |
| 102 | +@SerialName("MemberLeaveEventQuit") |
| 103 | +data class MemberLeaveEventQuitDTO(val member: MemberDTO) : BotEventDTO() |
| 104 | +@Serializable |
| 105 | +@SerialName("MemberCardChangeEvent") |
| 106 | +data class MemberCardChangeEventDTO(val origin: String, val new: String, val group: GroupDTO, val operator: MemberDTO?) : BotEventDTO() |
| 107 | +@Serializable |
| 108 | +@SerialName("MemberSpecialTitleChangeEvent") |
| 109 | +data class MemberSpecialTitleChangeEventDTO(val origin: String, val new: String, val member: MemberDTO) : BotEventDTO() |
| 110 | +@Serializable |
| 111 | +@SerialName("MemberPermissionChangeEvent") |
| 112 | +data class MemberPermissionChangeEventDTO(val origin: MemberPermission, val new: MemberPermission, val member: MemberDTO) : BotEventDTO() |
| 113 | +@Serializable |
| 114 | +@SerialName("MemberMuteEvent") |
| 115 | +data class MemberMuteEventDTO(val durationSeconds: Int, val member: MemberDTO, val operator: MemberDTO?) : BotEventDTO() |
| 116 | +@Serializable |
| 117 | +@SerialName("MemberUnmuteEvent") |
| 118 | +data class MemberUnmuteEventDTO(val member: MemberDTO, val operator: MemberDTO?) : BotEventDTO() |
0 commit comments