]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Remove gojsonq
authorqydysky <qydysky@foxmail.com>
Tue, 6 Aug 2024 15:30:09 +0000 (23:30 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 6 Aug 2024 15:30:09 +0000 (23:30 +0800)
Reply/Msg.go
Reply/Reply.go
Send/Send_pm.go

index aad646a55cf597d7c7e6bcb2d3f904fb1640669d..212972cc671ecaac3352641ba91f335788966314 100644 (file)
@@ -84,7 +84,7 @@ var Msg_map = map[string]func(replyF, string){
        "ROOM_SHIELD":                       nil,
        "USER_TOAST_MSG":                    replyF.user_toast_msg,     //大航海购买信息
        "WIN_ACTIVITY":                      replyF.win_activity,       //活动
-       "SPECIAL_GIFT":                      replyF.special_gift,       //节奏风暴
+       "SPECIAL_GIFT":                      nil,                       //replyF.special_gift,       //节奏风暴
        "GUARD_BUY":                         nil,                       //replyF.guard_buy,//大航海购买
        "WELCOME_GUARD":                     nil,                       //replyF.welcome_guard,//大航海进入 ?已废弃?
        "DANMU_MSG":                         replyF.danmu,              //弹幕
index b7ad593825231a2b8a8101962a2e94f1a6c6e73d..a0009457fa386bd16b7d5848e4ee100e42575378 100644 (file)
@@ -21,7 +21,6 @@ import (
        "github.com/qydysky/bili_danmu/Reply/F/recStartEnd"
        ws_msg "github.com/qydysky/bili_danmu/Reply/ws_msg"
        send "github.com/qydysky/bili_danmu/Send"
-       p "github.com/qydysky/part"
        funcCtrl "github.com/qydysky/part/funcCtrl"
        mq "github.com/qydysky/part/msgq"
        pool "github.com/qydysky/part/pool"
@@ -312,33 +311,43 @@ func (t replyF) vtr_gift_lottery(s string) {
 
 // msg-直播间进入信息,此处用来提示关注
 func (t replyF) interact_word(s string) {
-       msg_type := p.Json().GetValFromS(s, "data.msg_type")
-       if v, ok := msg_type.(float64); !ok || v < 2 {
+       J := struct {
+               Data struct {
+                       MsgType int    `json:"msg_type"`
+                       Uname   string `json:"uname"`
+               } `json:"data"`
+       }{}
+       if e := json.Unmarshal([]byte(s), &J); e != nil {
+               return
+       }
+       if J.Data.MsgType < 2 {
                return
        } //关注时为2,进入时为1
-       uname := p.Json().GetValFromS(s, "data.uname")
-       if v, ok := uname.(string); ok {
-               { //语言tts
-                       t.Common.Danmu_Main_mq.Push_tag(`tts`, Danmu_mq_t{
-                               uid: `0follow`,
-                               msg: fmt.Sprint(v + `关注了直播间`),
-                       })
-               }
-               Gui_show(v+`关注了直播间`, `0follow`)
-               msglog.Base_add("房").Log_show_control(false).L(`I`, v+`关注了直播间`)
+       { //语言tts
+               t.Common.Danmu_Main_mq.Push_tag(`tts`, Danmu_mq_t{
+                       uid: `0follow`,
+                       msg: fmt.Sprint(J.Data.Uname + `关注了直播间`),
+               })
        }
+       Gui_show(J.Data.Uname+`关注了直播间`, `0follow`)
+       msglog.Base_add("房").Log_show_control(false).L(`I`, J.Data.Uname+`关注了直播间`)
 }
 
 // Msg-天选之人开始
 func (t replyF) anchor_lot_start(s string) {
-       award_name := p.Json().GetValFromS(s, "data.award_name")
-       var sh = []interface{}{">天选"}
-       if award_name != nil {
-               sh = append(sh, award_name, "开始")
+       J := struct {
+               Data struct {
+                       AwardName any `json:"award_name"`
+               } `json:"data"`
+       }{}
+
+       var sh = []any{">天选"}
+       if J.Data.AwardName != nil {
+               sh = append(sh, J.Data.AwardName, "开始")
        }
 
        { //额外 ass
-               Assf(fmt.Sprintln("天选之人", award_name, "开始"))
+               Assf(fmt.Sprintln("天选之人", J.Data.AwardName, "开始"))
        }
        fmt.Println(sh...)
        Gui_show(Itos(sh), `0tianxuan`)
@@ -348,30 +357,31 @@ func (t replyF) anchor_lot_start(s string) {
 
 // Msg-天选之人结束
 func (t replyF) anchor_lot_award(s string) {
-       award_name := p.Json().GetValFromS(s, "data.award_name")
-       award_users := p.Json().GetValFromS(s, "data.award_users")
+       J := struct {
+               Data struct {
+                       AwardName  any `json:"award_name"`
+                       AwardUsers []struct {
+                               Uname string `json:"uname"`
+                               Uid   int    `json:"uid"`
+                       } `json:"award_users"`
+               } `json:"data"`
+       }{}
 
        var sh = []interface{}{">天选"}
 
-       if award_name != nil {
-               sh = append(sh, award_name, "获奖[")
-       }
-       if award_users != nil {
-               for _, v := range award_users.([]interface{}) {
-                       uname := p.Json().GetValFrom(v, "uname")
-                       uid := p.Json().GetValFrom(v, "uid")
-                       if uname != nil && uid != nil {
-                               if v, ok := uid.(float64); ok { //uid可能为float型
-                                       sh = append(sh, uname, "(", strconv.Itoa(int(v)), ")")
-                               } else {
-                                       sh = append(sh, uname, "(", uid, ")")
-                               }
+       if J.Data.AwardName != nil {
+               sh = append(sh, J.Data.AwardName, "获奖[")
+       }
+       if J.Data.AwardUsers != nil {
+               for _, v := range J.Data.AwardUsers {
+                       if v.Uname != "" && v.Uid != 0 {
+                               sh = append(sh, v.Uname, "(", v.Uid, ")")
                        }
                }
        }
        sh = append(sh, "]")
        { //额外 ass
-               Assf(fmt.Sprintln("天选之人", award_name, "结束"))
+               Assf(fmt.Sprintln("天选之人", J.Data.AwardName, "结束"))
        }
        fmt.Println(sh...)
        Gui_show(Itos(sh), `0tianxuan`)
@@ -570,10 +580,16 @@ func (t replyF) heartbeat(s int) {
 
 // Msg-房间特殊活动
 func (t replyF) win_activity(s string) {
-       title := p.Json().GetValFromS(s, "data.title")
-
-       fmt.Println("活动", title, "已开启")
-       msglog.Base_add("房").Log_show_control(false).L(`I: `, "活动", title, "已开启")
+       J := struct {
+               Data struct {
+                       Title any `json:"title"`
+               } `json:"data"`
+       }{}
+       if e := json.Unmarshal([]byte(s), &J); e != nil {
+               return
+       }
+       fmt.Println("活动", J.Data.Title, "已开启")
+       msglog.Base_add("房").Log_show_control(false).L(`I: `, "活动", J.Data.Title, "已开启")
 }
 
 // Msg-观看人数
@@ -594,33 +610,32 @@ func (t replyF) watched_change(s string) {
 }
 
 // Msg-特殊礼物,当前仅观察到节奏风暴
-func (t replyF) special_gift(s string) {
+// func (t replyF) special_gift(s string) {
 
-       content := p.Json().GetValFromS(s, "data.39.content")
-       action := p.Json().GetValFromS(s, "data.39.action")
+//     content := p.Json().GetValFromS(s, "data.39.content")
+//     action := p.Json().GetValFromS(s, "data.39.action")
 
-       var sh []interface{}
-
-       if action != nil && action.(string) == "end" {
-               return
-       }
-       if content != nil {
-               sh = append(sh, "节奏风暴", content)
-       }
-       { //额外
-               Assf(fmt.Sprintln(sh...))
-       }
-       fmt.Println("\n====")
-       fmt.Println(sh...)
-       fmt.Print("====\n\n")
+//     var sh []interface{}
 
-       // Gui_show("\n====")
-       Gui_show(Itos(sh), "0jiezou")
-       // Gui_show("====\n")
+//     if action != nil && action.(string) == "end" {
+//             return
+//     }
+//     if content != nil {
+//             sh = append(sh, "节奏风暴", content)
+//     }
+//     { //额外
+//             Assf(fmt.Sprintln(sh...))
+//     }
+//     fmt.Println("\n====")
+//     fmt.Println(sh...)
+//     fmt.Print("====\n\n")
 
-       msglog.Base_add("礼", "节奏风暴").Log_show_control(false).L(`I: `, sh...)
+//     // Gui_show("\n====")
+//     Gui_show(Itos(sh), "0jiezou")
+//     // Gui_show("====\n")
 
-}
+//     msglog.Base_add("礼", "节奏风暴").Log_show_control(false).L(`I: `, sh...)
+// }
 
 var roomChangeFC funcCtrl.FlashFunc
 
@@ -890,14 +905,17 @@ func (t replyF) send_gift(s string) {
 
 // Msg-房间封禁信息
 func (t replyF) room_block_msg(s string) {
-       if uname := p.Json().GetValFromS(s, "uname"); uname == nil {
-               msglog.L(`E: `, "uname", uname)
+
+       J := struct {
+               Uname string `json:"uname"`
+       }{}
+       if e := json.Unmarshal([]byte(s), &J); e != nil {
                return
-       } else {
-               Gui_show(Itos([]interface{}{"用户", uname, "已被封禁"}), "0room")
-               fmt.Println("用户", uname, "已被封禁")
-               msglog.Base_add("封").Log_show_control(false).L(`I: `, "用户", uname, "已被封禁")
        }
+
+       Gui_show(Itos([]interface{}{"用户", J.Uname, "已被封禁"}), "0room")
+       fmt.Println("用户", J.Uname, "已被封禁")
+       msglog.Base_add("封").Log_show_control(false).L(`I: `, "用户", J.Uname, "已被封禁")
 }
 
 // Msg-房间准备信息,通常出现在下播而不出现在开播
@@ -1218,14 +1236,19 @@ func (t replyF) entry_effect(s string) {
 func (t replyF) roomsilent(s string) {
        msglog := msglog.Base_add("房")
 
-       if level := p.Json().GetValFromS(s, "data.level"); level == nil {
-               msglog.L(`E: `, "level", level)
+       J := struct {
+               Data struct {
+                       Level int `json:"level"`
+               } `json:"data"`
+       }{}
+       if e := json.Unmarshal([]byte(s), &J); e != nil {
                return
+       }
+
+       if J.Data.Level == 0 {
+               msglog.L(`I: `, "主播关闭了禁言")
        } else {
-               if level.(float64) == 0 {
-                       msglog.L(`I: `, "主播关闭了禁言")
-               }
-               msglog.L(`I: `, "主播开启了等级禁言:", level)
+               msglog.L(`I: `, "主播开启了等级禁言:", J.Data.Level)
        }
 }
 
index 56ab71ca58b2d9f41d1d2866f048cd0c61b027bb..2ba0a9e6608406e2b3a40e3792356ce8c9401987 100644 (file)
@@ -1,6 +1,7 @@
 package send
 
 import (
+       "encoding/json"
        "errors"
        "net/url"
        "strconv"
@@ -8,7 +9,6 @@ import (
 
        c "github.com/qydysky/bili_danmu/CV"
 
-       p "github.com/qydysky/part"
        limit "github.com/qydysky/part/limit"
        reqf "github.com/qydysky/part/reqf"
        sys "github.com/qydysky/part/sys"
@@ -82,7 +82,11 @@ func Send_pm(uid int, msg string) error {
                return e
        }
 
-       if code := p.Json().GetValFromS(string(req.Respon), "code"); code == nil || code.(float64) != 0 {
+       J := struct {
+               Code int `json:"code"`
+       }{}
+
+       if e := json.Unmarshal(req.Respon, &J); e != nil {
                log.L(`E: `, string(req.Respon))
                return errors.New(string(req.Respon))
        }