mirror of
https://github.com/AynaLivePlayer/blivedm-go.git
synced 2025-12-06 11:22:50 +08:00
update interactword
This commit is contained in:
@@ -11,7 +11,36 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
knownCMD = []string{"INTERACT_WORD", "HOT_RANK_SETTLEMENT", "DANMU_GIFT_LOTTERY_START", "WELCOME_GUARD", "PK_PROCESS", "PK_BATTLE_PRO_TYPE", "MATCH_TEAM_GIFT_RANK", "PK_BATTLE_CRIT", "LUCK_GIFT_AWARD_USER", "SCORE_CARD", "ONLINE_RANK_V2", "PK_BATTLE_SPECIAL_GIFT", "SEND_TOP", "SUPER_CHAT_MESSAGE_JPN", "ANIMATION", "GUARD_LOTTERY_START", "WEEK_STAR_CLOCK", "WELCOME", "WIN_ACTIVITY", "ROOM_KICKOUT", "CHANGE_ROOM_INFO", "ROOM_SKIN_MSG", "ROOM_BLOCK_MSG", "SUPER_CHAT_ENTRANCE", "PK_BATTLE_RANK_CHANGE", "ROOM_LOCK", "TV_END", "PK_PRE", "ROOM_SILENT_OFF", "SEND_GIFT", "DANMU_MSG", "ANCHOR_LOT_START", "ROOM_BOX_USER", "ONLINE_RANK_TOP3", "WIDGET_BANNER", "PK_BATTLE_START", "ACTIVITY_MATCH_GIFT", "PK_AGAIN", "PK_MATCH", "RAFFLE_START", "LIVE", "WISH_BOTTLE", "GUARD_ACHIEVEMENT_ROOM", "ONLINE_RANK_COUNT", "COMMON_NOTICE_DANMAKU", "LOL_ACTIVITY", "HOT_RANK_CHANGED", "ROOM_BLOCK_INTO", "ROOM_LIMIT", "PANEL", "RAFFLE_END", "ENTRY_EFFECT", "STOP_LIVE_ROOM_LIST", "TV_START", "WATCH_LPL_EXPIRED", "PK_BATTLE_PRE", "USER_TOAST_MSG", "BOX_ACTIVITY_START", "PK_MIC_END", "LIVE_INTERACTIVE_GAME", "ROOM_BANNER", "PK_BATTLE_GIFT", "MESSAGEBOX_USER_GAIN_MEDAL", "LITTLE_TIPS", "HOUR_RANK_AWARDS", "NOTICE_MSG", "ROOM_REAL_TIME_MESSAGE_UPDATE", "ANCHOR_LOT_END", "PREPARING", "GUARD_BUY", "ROOM_CHANGE", "room_admin_entrance", "CHASE_FRAME_SWITCH", "DANMU_GIFT_LOTTERY_AWARD", "PK_BATTLE_VOTES_ADD", "PK_BATTLE_END", "CUT_OFF", "PK_BATTLE_PROCESS", "PK_BATTLE_SETTLE_USER", "ANCHOR_LOT_AWARD", "WIN_ACTIVITY_USER", "VOICE_JOIN_STATUS", "DANMU_GIFT_LOTTERY_END", "ROOM_RANK", "SUPER_CHAT_MESSAGE", "ACTIVITY_BANNER_UPDATE_V2", "SPECIAL_GIFT", "ROOM_SILENT_ON", "WARNING", "ROOM_ADMINS", "COMBO_SEND", "HOT_RANK_SETTLEMENT_V2", "ANCHOR_LOT_CHECKSTATUS", "HOT_RANK_CHANGED_V2", "SUPER_CHAT_MESSAGE_DELETE", "PK_END", "PK_SETTLE", "ROOM_REFRESH", "PK_START", "COMBO_END", "PK_LOTTERY_START", "GUARD_WINDOWS_OPEN", "REENTER_LIVE_ROOM", "MESSAGEBOX_USER_MEDAL_CHANGE", "MESSAGEBOX_USER_MEDAL_COMPENSATION", "LITTLE_MESSAGE_BOX", "PK_BATTLE_PRE_NEW", "PK_BATTLE_START_NEW", "PK_BATTLE_PROCESS_NEW", "PK_BATTLE_FINAL_PROCESS", "PK_BATTLE_SETTLE_V2", "PK_BATTLE_SETTLE_NEW", "PK_BATTLE_PUNISH_END", "PK_BATTLE_VIDEO_PUNISH_BEGIN", "PK_BATTLE_VIDEO_PUNISH_END", "ENTRY_EFFECT_MUST_RECEIVE", "SUPER_CHAT_AUDIT", "VIDEO_CONNECTION_JOIN_START", "VIDEO_CONNECTION_JOIN_END", "VIDEO_CONNECTION_MSG", "VTR_GIFT_LOTTERY", "RED_POCKET_START", "FULL_SCREEN_SPECIAL_EFFECT", "POPULARITY_RED_POCKET_START", "POPULARITY_RED_POCKET_WINNER_LIST", "USER_PANEL_RED_ALARM", "SHOPPING_CART_SHOW", "THERMAL_STORM_DANMU_BEGIN", "THERMAL_STORM_DANMU_UPDATE", "THERMAL_STORM_DANMU_CANCEL", "THERMAL_STORM_DANMU_OVER", "MILESTONE_UPDATE_EVENT", "WEB_REPORT_CONTROL", "DANMU_TAG_CHANGE", "RANK_REM", "LIVE_PLAYER_LOG_RECYCLE", "LIVE_INTERNAL_ROOM_LOGIN", "LIVE_OPEN_PLATFORM_GAME", "WATCHED_CHANGE", "DANMU_AGGREGATION", "POPULARITY_RED_POCKET_NEW", "LIKE_INFO_V3_CLICK", "POPULAR_RANK_CHANGED", "DM_INTERACTION", "LIKE_INFO_V3_UPDATE", "HOT_ROOM_NOTIFY", "PLAY_TAG", "OTHER_SLICE_LOADING_RESULT"}
|
||||
knownCMD = []string{
|
||||
"INTERACT_WORD", "HOT_RANK_SETTLEMENT", "DANMU_GIFT_LOTTERY_START", "WELCOME_GUARD",
|
||||
"PK_PROCESS", "PK_BATTLE_PRO_TYPE", "MATCH_TEAM_GIFT_RANK", "PK_BATTLE_CRIT", "LUCK_GIFT_AWARD_USER",
|
||||
"SCORE_CARD", "ONLINE_RANK_V2", "PK_BATTLE_SPECIAL_GIFT", "SEND_TOP", "SUPER_CHAT_MESSAGE_JPN", "ANIMATION",
|
||||
"GUARD_LOTTERY_START", "WEEK_STAR_CLOCK", "WELCOME", "WIN_ACTIVITY", "ROOM_KICKOUT", "CHANGE_ROOM_INFO",
|
||||
"ROOM_SKIN_MSG", "ROOM_BLOCK_MSG", "SUPER_CHAT_ENTRANCE", "PK_BATTLE_RANK_CHANGE", "ROOM_LOCK", "TV_END",
|
||||
"PK_PRE", "ROOM_SILENT_OFF", "SEND_GIFT", "DANMU_MSG", "ANCHOR_LOT_START", "ROOM_BOX_USER", "ONLINE_RANK_TOP3",
|
||||
"WIDGET_BANNER", "PK_BATTLE_START", "ACTIVITY_MATCH_GIFT", "PK_AGAIN", "PK_MATCH", "RAFFLE_START",
|
||||
"LIVE", "WISH_BOTTLE", "GUARD_ACHIEVEMENT_ROOM", "ONLINE_RANK_COUNT", "COMMON_NOTICE_DANMAKU", "LOL_ACTIVITY",
|
||||
"HOT_RANK_CHANGED", "ROOM_BLOCK_INTO", "ROOM_LIMIT", "PANEL", "RAFFLE_END", "ENTRY_EFFECT", "STOP_LIVE_ROOM_LIST",
|
||||
"TV_START", "WATCH_LPL_EXPIRED", "PK_BATTLE_PRE", "USER_TOAST_MSG", "BOX_ACTIVITY_START", "PK_MIC_END",
|
||||
"LIVE_INTERACTIVE_GAME", "ROOM_BANNER", "PK_BATTLE_GIFT", "MESSAGEBOX_USER_GAIN_MEDAL", "LITTLE_TIPS",
|
||||
"HOUR_RANK_AWARDS", "NOTICE_MSG", "ROOM_REAL_TIME_MESSAGE_UPDATE", "ANCHOR_LOT_END", "PREPARING", "GUARD_BUY",
|
||||
"ROOM_CHANGE", "room_admin_entrance", "CHASE_FRAME_SWITCH", "DANMU_GIFT_LOTTERY_AWARD", "PK_BATTLE_VOTES_ADD",
|
||||
"PK_BATTLE_END", "CUT_OFF", "PK_BATTLE_PROCESS", "PK_BATTLE_SETTLE_USER", "ANCHOR_LOT_AWARD",
|
||||
"WIN_ACTIVITY_USER", "VOICE_JOIN_STATUS", "DANMU_GIFT_LOTTERY_END", "ROOM_RANK", "SUPER_CHAT_MESSAGE",
|
||||
"ACTIVITY_BANNER_UPDATE_V2", "SPECIAL_GIFT", "ROOM_SILENT_ON", "WARNING", "ROOM_ADMINS", "COMBO_SEND",
|
||||
"HOT_RANK_SETTLEMENT_V2", "ANCHOR_LOT_CHECKSTATUS", "HOT_RANK_CHANGED_V2", "SUPER_CHAT_MESSAGE_DELETE",
|
||||
"PK_END", "PK_SETTLE", "ROOM_REFRESH", "PK_START", "COMBO_END", "PK_LOTTERY_START", "GUARD_WINDOWS_OPEN",
|
||||
"REENTER_LIVE_ROOM", "MESSAGEBOX_USER_MEDAL_CHANGE", "MESSAGEBOX_USER_MEDAL_COMPENSATION", "LITTLE_MESSAGE_BOX",
|
||||
"PK_BATTLE_PRE_NEW", "PK_BATTLE_START_NEW", "PK_BATTLE_PROCESS_NEW", "PK_BATTLE_FINAL_PROCESS", "PK_BATTLE_SETTLE_V2",
|
||||
"PK_BATTLE_SETTLE_NEW", "PK_BATTLE_PUNISH_END", "PK_BATTLE_VIDEO_PUNISH_BEGIN", "PK_BATTLE_VIDEO_PUNISH_END",
|
||||
"ENTRY_EFFECT_MUST_RECEIVE", "SUPER_CHAT_AUDIT", "VIDEO_CONNECTION_JOIN_START", "VIDEO_CONNECTION_JOIN_END",
|
||||
"VIDEO_CONNECTION_MSG", "VTR_GIFT_LOTTERY", "RED_POCKET_START", "FULL_SCREEN_SPECIAL_EFFECT",
|
||||
"POPULARITY_RED_POCKET_START", "POPULARITY_RED_POCKET_WINNER_LIST", "USER_PANEL_RED_ALARM",
|
||||
"SHOPPING_CART_SHOW", "THERMAL_STORM_DANMU_BEGIN", "THERMAL_STORM_DANMU_UPDATE", "THERMAL_STORM_DANMU_CANCEL",
|
||||
"THERMAL_STORM_DANMU_OVER", "MILESTONE_UPDATE_EVENT", "WEB_REPORT_CONTROL", "DANMU_TAG_CHANGE", "RANK_REM",
|
||||
"LIVE_PLAYER_LOG_RECYCLE", "LIVE_INTERNAL_ROOM_LOGIN", "LIVE_OPEN_PLATFORM_GAME", "WATCHED_CHANGE",
|
||||
"DANMU_AGGREGATION", "POPULARITY_RED_POCKET_NEW", "LIKE_INFO_V3_CLICK", "POPULAR_RANK_CHANGED",
|
||||
"DM_INTERACTION", "LIKE_INFO_V3_UPDATE", "HOT_ROOM_NOTIFY", "PLAY_TAG", "OTHER_SLICE_LOADING_RESULT"}
|
||||
knownCMDMap map[string]int
|
||||
cmdReg = regexp.MustCompile(`"cmd":"([^"]+)"`)
|
||||
)
|
||||
@@ -145,6 +174,7 @@ func (c *Client) Handle(p packet.Packet) {
|
||||
go cover(func() { fn(u) })
|
||||
}
|
||||
default:
|
||||
//log.Debugf("cmd: %s", cmd)
|
||||
if _, ok := knownCMDMap[cmd]; ok {
|
||||
return
|
||||
}
|
||||
|
||||
102
message/interactword.go
Normal file
102
message/interactword.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package message
|
||||
|
||||
type InteractWord struct {
|
||||
Contribution struct {
|
||||
Grade int `json:"grade"`
|
||||
} `json:"contribution"`
|
||||
ContributionV2 struct {
|
||||
Grade int `json:"grade"`
|
||||
RankType string `json:"rank_type"`
|
||||
Text string `json:"text"`
|
||||
} `json:"contribution_v2"`
|
||||
ControlInfo struct {
|
||||
Text string `json:"text"`
|
||||
TextColor string `json:"text_color"`
|
||||
Type int `json:"type"`
|
||||
} `json:"control_info"`
|
||||
CoreUserType int `json:"core_user_type"`
|
||||
Dmscore int `json:"dmscore"`
|
||||
FansMedal struct {
|
||||
AnchorRoomid int `json:"anchor_roomid"`
|
||||
GuardLevel int `json:"guard_level"`
|
||||
IconId int `json:"icon_id"`
|
||||
IsLighted int `json:"is_lighted"`
|
||||
MedalColor int `json:"medal_color"`
|
||||
MedalColorBorder int `json:"medal_color_border"`
|
||||
MedalColorEnd int `json:"medal_color_end"`
|
||||
MedalColorStart int `json:"medal_color_start"`
|
||||
MedalLevel int `json:"medal_level"`
|
||||
MedalName string `json:"medal_name"`
|
||||
Score int `json:"score"`
|
||||
Special string `json:"special"`
|
||||
TargetId int `json:"target_id"`
|
||||
} `json:"fans_medal"`
|
||||
GroupMedal interface{} `json:"group_medal"`
|
||||
Identities []int `json:"identities"`
|
||||
IsMystery bool `json:"is_mystery"`
|
||||
IsSpread int `json:"is_spread"`
|
||||
MsgType int `json:"msg_type"` // MsgType {1: '进入', 2: '关注了', 3: '分享了', 4: '特别关注了', 5: '互粉了', 6: '为主播点赞了'}
|
||||
PrivilegeType int `json:"privilege_type"`
|
||||
RelationTail struct {
|
||||
TailGuideText string `json:"tail_guide_text"`
|
||||
TailIcon string `json:"tail_icon"`
|
||||
TailType int `json:"tail_type"`
|
||||
} `json:"relation_tail"`
|
||||
Roomid int `json:"roomid"`
|
||||
Score int64 `json:"score"`
|
||||
SpreadDesc string `json:"spread_desc"`
|
||||
SpreadInfo string `json:"spread_info"`
|
||||
TailIcon int `json:"tail_icon"`
|
||||
TailText string `json:"tail_text"`
|
||||
Timestamp int `json:"timestamp"`
|
||||
TriggerTime int64 `json:"trigger_time"`
|
||||
Uid int `json:"uid"`
|
||||
Uinfo struct {
|
||||
Base struct {
|
||||
Face string `json:"face"`
|
||||
IsMystery bool `json:"is_mystery"`
|
||||
Name string `json:"name"`
|
||||
NameColor int `json:"name_color"`
|
||||
NameColorStr string `json:"name_color_str"`
|
||||
OfficialInfo interface{} `json:"official_info"`
|
||||
OriginInfo interface{} `json:"origin_info"`
|
||||
RiskCtrlInfo interface{} `json:"risk_ctrl_info"`
|
||||
} `json:"base"`
|
||||
Guard struct {
|
||||
ExpiredStr string `json:"expired_str"`
|
||||
Level int `json:"level"`
|
||||
} `json:"guard"`
|
||||
GuardLeader interface{} `json:"guard_leader"`
|
||||
Medal struct {
|
||||
Color int `json:"color"`
|
||||
ColorBorder int `json:"color_border"`
|
||||
ColorEnd int `json:"color_end"`
|
||||
ColorStart int `json:"color_start"`
|
||||
GuardIcon string `json:"guard_icon"`
|
||||
GuardLevel int `json:"guard_level"`
|
||||
HonorIcon string `json:"honor_icon"`
|
||||
Id int `json:"id"`
|
||||
IsLight int `json:"is_light"`
|
||||
Level int `json:"level"`
|
||||
Name string `json:"name"`
|
||||
Ruid int `json:"ruid"`
|
||||
Score int `json:"score"`
|
||||
Typ int `json:"typ"`
|
||||
UserReceiveCount int `json:"user_receive_count"`
|
||||
V2MedalColorBorder string `json:"v2_medal_color_border"`
|
||||
V2MedalColorEnd string `json:"v2_medal_color_end"`
|
||||
V2MedalColorLevel string `json:"v2_medal_color_level"`
|
||||
V2MedalColorStart string `json:"v2_medal_color_start"`
|
||||
V2MedalColorText string `json:"v2_medal_color_text"`
|
||||
} `json:"medal"`
|
||||
Title interface{} `json:"title"`
|
||||
UheadFrame interface{} `json:"uhead_frame"`
|
||||
Uid int `json:"uid"`
|
||||
Wealth struct {
|
||||
DmIconKey string `json:"dm_icon_key"`
|
||||
Level int `json:"level"`
|
||||
} `json:"wealth"`
|
||||
} `json:"uinfo"`
|
||||
Uname string `json:"uname"`
|
||||
UnameColor string `json:"uname_color"`
|
||||
}
|
||||
@@ -69,41 +69,6 @@ type HotRankSettlementV2 struct {
|
||||
DmMsg string `json:"dm_msg"`
|
||||
}
|
||||
|
||||
type InteractWord struct {
|
||||
Contribution struct {
|
||||
Grade int `json:"grade"`
|
||||
} `json:"contribution"`
|
||||
Dmscore int `json:"dmscore"`
|
||||
FansMedal struct {
|
||||
AnchorRoomid int `json:"anchor_roomid"`
|
||||
GuardLevel int `json:"guard_level"`
|
||||
IconId int `json:"icon_id"`
|
||||
IsLighted int `json:"is_lighted"`
|
||||
MedalColor int `json:"medal_color"`
|
||||
MedalColorBorder int `json:"medal_color_border"`
|
||||
MedalColorEnd int `json:"medal_color_end"`
|
||||
MedalColorStart int `json:"medal_color_start"`
|
||||
MedalLevel int `json:"medal_level"`
|
||||
MedalName string `json:"medal_name"`
|
||||
Score int `json:"score"`
|
||||
Special string `json:"special"`
|
||||
TargetId int `json:"target_id"`
|
||||
} `json:"fans_medal"`
|
||||
Identities []int `json:"identities"`
|
||||
IsSpread int `json:"is_spread"`
|
||||
MsgType int `json:"msg_type"`
|
||||
Roomid int `json:"roomid"`
|
||||
Score int64 `json:"score"`
|
||||
SpreadDesc string `json:"spread_desc"`
|
||||
SpreadInfo string `json:"spread_info"`
|
||||
TailIcon int `json:"tail_icon"`
|
||||
Timestamp int `json:"timestamp"`
|
||||
TriggerTime int64 `json:"trigger_time"`
|
||||
Uid int `json:"uid"`
|
||||
Uname string `json:"uname"`
|
||||
UnameColor string `json:"uname_color"`
|
||||
}
|
||||
|
||||
type OnlineRankCount struct {
|
||||
Count int `json:"count"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user