return ""
}
return rface.(string) + `@58w_58h`
+}
+
+func (i *api) Get_OnlineGoldRank() {
+ if i.Uid == 0 || c.Roomid == 0 {
+ apilog.Base(1, "Get_OnlineGoldRank").E("i.Uid == 0 || c.Roomid == 0")
+ return
+ }
+ var session_roomid = c.Roomid
+ var self_loop func(page int)(score float64)
+ self_loop = func(page int)(score float64){
+ if page <= 0 || session_roomid != c.Roomid{return}
+ // apilog.Base(1, "self_loop").E(page)
+
+ req := p.Req()
+ if err := req.Reqf(p.Rval{
+ Url:`https://api.live.bilibili.com/xlive/general-interface/v1/rank/getOnlineGoldRank?ruid=`+strconv.Itoa(i.Uid)+`&roomId=`+strconv.Itoa(c.Roomid)+`&page=`+strconv.Itoa(page)+`&pageSize=20`,
+ Header:map[string]string{
+ `Host`: `api.live.bilibili.com`,
+ `User-Agent`: `Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0`,
+ `Accept`: `application/json, text/plain, */*`,
+ `Accept-Language`: `zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2`,
+ `Accept-Encoding`: `gzip, deflate, br`,
+ `Origin`: `https://live.bilibili.com`,
+ `Connection`: `keep-alive`,
+ `Pragma`: `no-cache`,
+ `Cache-Control`: `no-cache`,
+ `Referer`:"https://live.bilibili.com/" + strconv.Itoa(c.Roomid),
+ },
+ Timeout:3,
+ Retry:2,
+ });err != nil {
+ apilog.Base(1, "获取OnlineGoldRank").E(err)
+ return
+ }
+ res := string(req.Respon)
+ if msg := p.Json().GetValFromS(res, "message");msg == nil || msg != "0" {
+ apilog.Base(1, "获取OnlineGoldRank").E("message", msg)
+ return
+ }
+ if onlineNum := p.Json().GetValFromS(res, "data.onlineNum");onlineNum == nil {
+ apilog.Base(1, "获取onlineNum").E("onlineNum", onlineNum)
+ return
+ } else {
+ tmp_onlineNum := onlineNum.(float64)
+ if tmp_onlineNum == 0 {
+ apilog.Base(1, "获取tmp_onlineNum").E("tmp_onlineNum", tmp_onlineNum)
+ return
+ }
+
+ if tmp_score_list := p.Json().GetArrayFrom(p.Json().GetValFromS(res, "data.OnlineRankItem"), "score");len(tmp_score_list) != 0 {
+ for _,v := range tmp_score_list {
+ score += v.(float64)/10
+ }
+ }
+ c.Danmu_Main_mq.Push(c.Danmu_Main_mq_item{//传入消息队列
+ Class:`c.Rev_add`,
+ Data:score,
+ })
+
+ if rank_list := p.Json().GetArrayFrom(p.Json().GetValFromS(res, "data.OnlineRankItem"), "userRank");len(rank_list) == 0 {
+ apilog.Base(1, "获取 rank_list").E("rank_list", len(rank_list))
+ return
+ } else if rank_list[len(rank_list)-1].(float64) == tmp_onlineNum {
+ // apilog.Base(1, "获取 rank_list").E("rank_list == tmp_onlineNum")
+ return
+ } else {
+ p.Sys().Timeoutf(1)
+ // apilog.Base(1, "获取page").E(page, score)
+ self_loop(page+1)
+ return
+ }
+ }
+ }
+ // apilog.Base(1, "Get_OnlineGoldRank").E("start")
+
+ // apilog.Base(1, "获取score").E("score", self_loop(1))
+ self_loop(1)
+ apilog.Base(1, "获取score").E("以往营收获取成功")
+ // c.Danmu_Main_mq.Push(c.Danmu_Main_mq_item{//传入消息队列
+ // Class:`c.Rev_add`,
+ // Data:self_loop(1),
+ // })
+ return
}
\ No newline at end of file
}
if price != nil {
sh = append(sh, "¥", int(price.(float64)) / 1000)
- c.Rev += price.(float64) / 1000
+ c.Danmu_Main_mq.Push(c.Danmu_Main_mq_item{//传入消息队列
+ Class:`c.Rev_add`,
+ Data:price.(float64) / 1000,
+ })
}
{//额外 ass
Assf(fmt.Sprintln(sh...))
}
if content != nil {
sh = append(sh, "节奏风暴", content, "¥ 100")
- c.Rev += 100
+ c.Danmu_Main_mq.Push(c.Danmu_Main_mq_item{//传入消息队列
+ Class:`c.Rev_add`,
+ Data:100,
+ })
}
{//额外
Assf(fmt.Sprintln(sh...))
if total_coin != nil {
allprice = int64(total_coin.(float64) / 1000)
sh = append(sh, "¥", allprice)
- c.Rev += total_coin.(float64) / 1000
+ c.Danmu_Main_mq.Push(c.Danmu_Main_mq_item{//传入消息队列
+ Class:`c.Rev_add`,
+ Data:total_coin.(float64) / 1000,
+ })
}
if len(sh) == 0 {return}
}
if price != nil {
sh = append(sh, "¥", price, "\n")
- c.Rev += price.(float64)
+ c.Danmu_Main_mq.Push(c.Danmu_Main_mq_item{//传入消息队列
+ Class:`c.Rev_add`,
+ Data:price.(float64),
+ })
}
fmt.Println("====")
fmt.Println(sh...)