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

feat: MemberTemperatureTitleChangeEvent

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

View File

@ -631,6 +631,28 @@ public data class GroupTalkativeChangeEvent(
public val previous: NormalMember
) : Packet, GroupEvent, BotPassiveEvent, AbstractEvent()
/**
* [Member] 活跃度头衔改变时的事件目前只有 Bot 自身会触发
*/
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
// endregion

View File

@ -411,7 +411,19 @@ internal class GroupNotificationProcessor(
collect(MemberHonorChangeEvent.Achieve(now, GroupHonorType.RED_PACKET))
}
}
//
// 等级头衔
10097L -> {
// XXX: 目前只有机器人本身会触发
val user = grayTip.msgTemplParam["uin"]?.findMember() ?: group.botAsMember
val level = grayTip.msgTemplParam["level"]?.removePrefix("LV")?.toInt() ?: 1
val title = grayTip.msgTemplParam["title"] ?: grayTip.msgTemplParam["level"] ?: ""
collected += MemberTemperatureTitleChangeEvent(
member = user,
temperature = level,
title = title
)
}
else -> {
markNotConsumed()
logger.debug {