1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-25 04:50:26 +08:00

feat: MemberLuckyWordEvent

This commit is contained in:
cssxsh 2023-07-22 07:31:37 +08:00
parent fd16f729fb
commit 2b40cb5a35
No known key found for this signature in database
GPG Key ID: 92849F91CA9D8ECE
4 changed files with 52 additions and 0 deletions
mirai-core-api
compatibility-validation
android/api
jvm/api
src/commonMain/kotlin/event/events
mirai-core/src/commonMain/kotlin/network/notice/group

View File

@ -2726,6 +2726,14 @@ public final class net/mamoe/mirai/event/events/MemberLeaveEvent$Quit : net/mamo
public fun toString ()Ljava/lang/String;
}
public final class net/mamoe/mirai/event/events/MemberLuckyWordEvent : net/mamoe/mirai/event/AbstractEvent, net/mamoe/mirai/event/events/BotPassiveEvent, net/mamoe/mirai/event/events/GroupMemberEvent, net/mamoe/mirai/internal/network/Packet {
public fun <init> (Lnet/mamoe/mirai/contact/NormalMember;Ljava/util/List;)V
public final fun getImages ()Ljava/util/List;
public synthetic fun getMember ()Lnet/mamoe/mirai/contact/Member;
public fun getMember ()Lnet/mamoe/mirai/contact/NormalMember;
public fun toString ()Ljava/lang/String;
}
public final class net/mamoe/mirai/event/events/MemberMuteEvent : net/mamoe/mirai/event/AbstractEvent, net/mamoe/mirai/event/events/GroupMemberEvent, net/mamoe/mirai/event/events/GroupMemberInfoChangeEvent, net/mamoe/mirai/event/events/GroupOperableEvent, net/mamoe/mirai/internal/network/Packet {
public final fun component1 ()Lnet/mamoe/mirai/contact/Member;
public final fun component2 ()I

View File

@ -2726,6 +2726,14 @@ public final class net/mamoe/mirai/event/events/MemberLeaveEvent$Quit : net/mamo
public fun toString ()Ljava/lang/String;
}
public final class net/mamoe/mirai/event/events/MemberLuckyWordEvent : net/mamoe/mirai/event/AbstractEvent, net/mamoe/mirai/event/events/BotPassiveEvent, net/mamoe/mirai/event/events/GroupMemberEvent, net/mamoe/mirai/internal/network/Packet {
public fun <init> (Lnet/mamoe/mirai/contact/NormalMember;Ljava/util/List;)V
public final fun getImages ()Ljava/util/List;
public synthetic fun getMember ()Lnet/mamoe/mirai/contact/Member;
public fun getMember ()Lnet/mamoe/mirai/contact/NormalMember;
public fun toString ()Ljava/lang/String;
}
public final class net/mamoe/mirai/event/events/MemberMuteEvent : net/mamoe/mirai/event/AbstractEvent, net/mamoe/mirai/event/events/GroupMemberEvent, net/mamoe/mirai/event/events/GroupMemberInfoChangeEvent, net/mamoe/mirai/event/events/GroupOperableEvent, net/mamoe/mirai/internal/network/Packet {
public final fun component1 ()Lnet/mamoe/mirai/contact/Member;
public final fun component2 ()I

View File

@ -652,6 +652,28 @@ public data class GroupTalkativeChangeEvent(
// endregion
// region 群幸运词
/**
* [Member] 触发群幸运词事件
*/
public class MemberLuckyWordEvent(
/**
* 触发群幸运词的群成员
*/
public override val member: NormalMember,
/**
* 群幸运词的图片链接
*/
public val images: List<String>
) : Packet, GroupMemberEvent, BotPassiveEvent, AbstractEvent() {
override fun toString(): String {
return "MemberLuckyWordEvent(group=${group.id}, member=${member.id})"
}
}
// endregion
// region 群待办
/**

View File

@ -327,6 +327,20 @@ internal class GroupNotificationProcessor(
val grayTip = buf.loadAs(TroopTips0x857.NotifyMsgBody.serializer(), 1).optGeneralGrayTip
markAsConsumed()
when (grayTip?.templId) {
// 群幸运词
10047L, 10048L -> {
val user = grayTip.msgTemplParam["uin"]?.findMember() ?: group.botAsMember
val images = listOfNotNull(
grayTip.msgTemplParam["img_url"],
grayTip.msgTemplParam["img_url_1"],
grayTip.msgTemplParam["img_url_2"]
)
collected += MemberLuckyWordEvent(
member = user,
images = images
)
}
// 群戳一戳
10043L, 1133L, 1132L, 1134L, 1135L, 1136L -> {
// group nudge