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

feat: MemberReceivedEvent

This commit is contained in:
cssxsh 2023-07-05 20:38:38 +08:00
parent 16d3233890
commit f467df4502
No known key found for this signature in database
GPG Key ID: 92849F91CA9D8ECE
2 changed files with 38 additions and 12 deletions
mirai-core-api/src/commonMain/kotlin/event/events
mirai-core/src/commonMain/kotlin/network/notice/group

View File

@ -520,6 +520,29 @@ public data class MemberSpecialTitleChangeEvent @MiraiInternalApi constructor(
public override val operator: NormalMember?
) : GroupMemberEvent, GroupOperableEvent, AbstractEvent(), Packet, GroupMemberInfoChangeEvent
/**
* [Member] 活跃度头衔改变时的事件目前只有 Bot 自身会触发
*/
@MiraiExperimentalApi
public class MemberTemperatureTitleChangeEvent(
/**
* 改变活跃度头衔的群成员
*/
public override val member: NormalMember,
/**
* 活跃度
*/
public val temperature: Int,
/**
* 当前头衔
*/
public val title: String
) : Packet, GroupMemberEvent, BotPassiveEvent, AbstractEvent() {
override fun toString(): String {
return "MemberTemperatureTitleChangeEvent(group=${group.id}, member=${member.id}, temperature=${temperature}, title=${title})"
}
}
// endregion
@ -631,25 +654,22 @@ public data class GroupTalkativeChangeEvent(
public val previous: NormalMember
) : Packet, GroupEvent, BotPassiveEvent, AbstractEvent()
// endregion
// region 群待办
/**
* [Member] 活跃度头衔改变时的事件目前只有 Bot 自身会触发
* [Member] 完成群待办事件可能会在成员阅读完群公告(待办)触发
*/
public class MemberTemperatureTitleChangeEvent(
@MiraiExperimentalApi
public class MemberReceivedEvent(
/**
* 改变活跃度头衔的群成员
* 完成群待办的群成员
*/
public override val member: NormalMember,
/**
* 活跃度
*/
public val temperature: Int,
/**
* 当前头衔
*/
public val title: String
) : Packet, GroupMemberEvent, BotPassiveEvent, AbstractEvent() {
override fun toString(): String {
return "MemberTemperatureTitleChangeEvent(group=${group.id}, member=${member.id}, temperature=${temperature}, title=${title})"
return "MemberReceivedEvent(group=${group.id}, member=${member.id})"
}
}

View File

@ -358,6 +358,12 @@ internal class GroupNotificationProcessor(
rank = rank
)
}
// 群待办
10134L, 10135L -> {
// 阅读群公告可能会触发
val user = grayTip.msgTemplParam["uin"]?.findMember() ?: group.botAsMember
collected += MemberReceivedEvent(member = user)
}
// 龙王
10093L, 10094L, 1053L, 1054L, 1103L -> {
val now = grayTip.msgTemplParam["uin"]?.findMember() ?: group.botAsMember