]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
热门榜v2
authorqydysky <qydysky@foxmail.com>
Tue, 5 Apr 2022 06:43:46 +0000 (14:43 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 5 Apr 2022 06:43:46 +0000 (14:43 +0800)
Reply/Msg.go
Reply/Reply.go
Reply/gtk.go
Reply/ws_msg/HOT_RANK_CHANGED_V2.go [new file with mode: 0644]
Reply/ws_msg/HOT_RANK_SETTLEMENT_V2.go [new file with mode: 0644]

index f79897ea97420c8f9282cdc83d9f3281bf4bbabe..f82d0fe30de44850d9d7883c4352c375c79a7dbf 100644 (file)
@@ -29,7 +29,9 @@ var Msg_map = map[string]func(replyF, string){
        `LITTLE_MESSAGE_BOX`:            replyF.little_message_box,           //小消息
        `MESSAGEBOX_USER_MEDAL_CHANGE`:  replyF.messagebox_user_medal_change, //粉丝牌切换
        `HOT_RANK_SETTLEMENT`:           replyF.hot_rank_settlement,          //热门榜获得
+       `HOT_RANK_SETTLEMENT_V2`:        replyF.hot_rank_settlement_v2,       //热门榜获得v2
        `HOT_RANK_CHANGED`:              replyF.hot_rank_changed,             //热门榜变动
+       `HOT_RANK_CHANGED_V2`:           replyF.hot_rank_changed_v2,          //热门榜变动v2
        `CARD_MSG`:                      nil,                                 //提示关注
        `WIDGET_BANNER`:                 nil,                                 //每日任务
        `ROOM_ADMINS`:                   nil,                                 //房管列表
index 3a2810c6319f45696341916e7d1d8ebf390051a2..b3e47b4308454314f68337ee5fc7364c731dda5c 100644 (file)
@@ -371,12 +371,20 @@ func (replyF) win_activity(s string) {
        msglog.Base_add("房").Log_show_control(false).L(`I: `, "活动", title, "已开启")
 }
 
+var (
+       watched int //观看人数
+)
+
 //Msg-观看人数
 func (replyF) watched_change(s string) {
        var data ws_msg.WATCHED_CHANGE
        json.Unmarshal([]byte(s), &data)
-       fmt.Printf("\t观看人数:%d\n", data.Data.Num)
-       msglog.Base_add("房").Log_show_control(false).L(`I: `, "观看人数", data.Data.Num)
+       if float64(data.Data.Num) < float64(watched)*1.1 && data.Data.Num >= watched {
+               return
+       }
+       watched = data.Data.Num
+       fmt.Printf("\t观看人数:%d\n", watched)
+       msglog.Base_add("房").Log_show_control(false).L(`I: `, "观看人数", watched)
 }
 
 //Msg-特殊礼物,当前仅观察到节奏风暴
@@ -744,6 +752,26 @@ func (replyF) hot_rank_changed(s string) {
        }
 }
 
+//Msg-热门榜变动V2
+func (replyF) hot_rank_changed_v2(s string) {
+       msglog := msglog.Base_add("房").Log_show_control(false)
+
+       var type_item ws_msg.HOT_RANK_CHANGED_V2
+       if e := json.Unmarshal([]byte(s), &type_item); e != nil {
+               msglog.L(`E: `, e)
+       }
+       if type_item.Data.AreaName != `` {
+               c.Note = type_item.Data.AreaName + " "
+               if type_item.Data.Rank == 0 {
+                       c.Note += "50+"
+               } else {
+                       c.Note += strconv.Itoa(type_item.Data.Rank)
+               }
+               fmt.Printf("%s\t%s\n", "热门榜", c.Note)
+               msglog.L(`I: `, "热门榜", c.Note)
+       }
+}
+
 //Msg-热门榜获得
 func (replyF) hot_rank_settlement(s string) {
        msglog := msglog.Base_add("房")
@@ -770,6 +798,32 @@ func (replyF) hot_rank_settlement(s string) {
        msglog.L(`I: `, "热门榜", tmp)
 }
 
+//Msg-热门榜获得v2
+func (replyF) hot_rank_settlement_v2(s string) {
+       msglog := msglog.Base_add("房")
+
+       var type_item ws_msg.HOT_RANK_SETTLEMENT_V2
+       if e := json.Unmarshal([]byte(s), &type_item); e != nil {
+               msglog.L(`E: `, e)
+       }
+       var tmp = `获得:`
+       if type_item.Data.AreaName != `` {
+               tmp += type_item.Data.AreaName + " 第"
+       }
+       if type_item.Data.Rank != 0 {
+               tmp += strconv.Itoa(type_item.Data.Rank)
+       }
+       Gui_show(tmp, "0rank")
+       c.Danmu_Main_mq.Push_tag(`tts`, Danmu_mq_t{ //传入消息队列
+               uid: "0rank",
+               m: map[string]string{
+                       `{Area_name}`: type_item.Data.AreaName,
+                       `{Rank}`:      strconv.Itoa(type_item.Data.Rank),
+               },
+       })
+       msglog.L(`I: `, "热门榜", tmp)
+}
+
 //Msg-小消息
 func (replyF) little_message_box(s string) {
        msglog := msglog.Base_add("系统")
index 92b15825abc771b83bdaa05ab9184b17894aada5..95639cca5140df86a2fe9f4fd48ec8500bad0458 100644 (file)
@@ -18,7 +18,6 @@ import (
        F "github.com/qydysky/bili_danmu/F"
 
        p "github.com/qydysky/part"
-       s "github.com/qydysky/part/buf"
        msgq "github.com/qydysky/part/msgq"
        reqf "github.com/qydysky/part/reqf"
 
@@ -510,12 +509,16 @@ func Gtk_danmu() {
                        o = contrl_win_running
                        //y("sssss",load_face(""))
                        { //加载特定信息驻留时长
-                               buf := s.New()
-                               buf.Load("config/config_gtk_keep_key.json")
+                               bb, err := ioutil.ReadFile("config/config_gtk_keep_key.json")
+                               if err != nil {
+                                       return
+                               }
+                               var buf map[string]interface{}
+                               json.Unmarshal(bb, &buf)
                                for k, _ := range keep_key {
                                        delete(keep_key, k)
                                }
-                               for k, v := range buf.B {
+                               for k, v := range buf {
                                        keep_key[k] = int(v.(float64))
                                }
                        }
diff --git a/Reply/ws_msg/HOT_RANK_CHANGED_V2.go b/Reply/ws_msg/HOT_RANK_CHANGED_V2.go
new file mode 100644 (file)
index 0000000..99d0d63
--- /dev/null
@@ -0,0 +1,20 @@
+package part
+
+type HOT_RANK_CHANGED_V2 struct {
+       Cmd  string                   `json:"cmd"`
+       Data HOT_RANK_CHANGED_V2_Data `json:"data"`
+}
+type HOT_RANK_CHANGED_V2_Data struct {
+       Rank        int    `json:"rank"`
+       Trend       int    `json:"trend"`
+       Countdown   int    `json:"countdown"`
+       Timestamp   int    `json:"timestamp"`
+       WebURL      string `json:"web_url"`
+       LiveURL     string `json:"live_url"`
+       BlinkURL    string `json:"blink_url"`
+       LiveLinkURL string `json:"live_link_url"`
+       PcLinkURL   string `json:"pc_link_url"`
+       Icon        string `json:"icon"`
+       AreaName    string `json:"area_name"`
+       RankDesc    string `json:"rank_desc"`
+}
diff --git a/Reply/ws_msg/HOT_RANK_SETTLEMENT_V2.go b/Reply/ws_msg/HOT_RANK_SETTLEMENT_V2.go
new file mode 100644 (file)
index 0000000..fab3312
--- /dev/null
@@ -0,0 +1,17 @@
+package part
+
+type HOT_RANK_SETTLEMENT_V2 struct {
+       Cmd  string                      `json:"cmd"`
+       Data HOT_RANK_SETTLEMENT_V2_Data `json:"data"`
+}
+type HOT_RANK_SETTLEMENT_V2_Data struct {
+       Rank      int    `json:"rank"`
+       Uname     string `json:"uname"`
+       Face      string `json:"face"`
+       Timestamp int    `json:"timestamp"`
+       Icon      string `json:"icon"`
+       AreaName  string `json:"area_name"`
+       URL       string `json:"url"`
+       CacheKey  string `json:"cache_key"`
+       DmMsg     string `json:"dm_msg"`
+}