From ec69e2a0e6cd92a98f98b0ed13461d323cd64c4a Mon Sep 17 00:00:00 2001 From: qydysky Date: Mon, 25 Jan 2021 21:03:46 +0800 Subject: [PATCH] =?utf8?q?=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- F/api.go | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++ bili_danmu.go | 2 ++ demo/go.mod | 7 +++-- demo/go.sum | 8 +++++ 4 files changed, 98 insertions(+), 3 deletions(-) diff --git a/F/api.go b/F/api.go index 6b8ce37..3a934e0 100644 --- a/F/api.go +++ b/F/api.go @@ -935,4 +935,88 @@ func (i *api) Switch_FansMedal() { apilog.L(`E: `,`Get_FansMedal wear message nil`) } } +} + +//签到 +func Dosign() { + apilog := apilog.Base_add(`签到`).L(`T: `,`签到`) + if c.Cookie == `` {apilog.L(`E: `,`失败!无cookie`);return} + + {//检查是否签到 + req := p.Req() + if err := req.Reqf(p.Rval{ + Url:`https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/WebGetSignInfo`, + 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/all", + `Cookie`:c.Cookie, + }, + Timeout:3, + Retry:2, + });err != nil { + apilog.L(`E: `,err) + return + } + + var msg struct { + Code int `json:"code"` + Message string `json:"message"` + Data struct { + Status int `json:"status"` + } `json:"data"` + } + if e := json.Unmarshal(req.Respon,&msg);e != nil{ + apilog.L(`E: `,e) + } + if msg.Code != 0 {apilog.L(`E: `,msg.Message);return} + if msg.Data.Status == 1 {//今日已签到 + return + } + } + + {//签到 + req := p.Req() + if err := req.Reqf(p.Rval{ + Url:`https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign`, + 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/all", + `Cookie`:c.Cookie, + }, + Timeout:3, + Retry:2, + });err != nil { + apilog.L(`E: `,err) + return + } + + var msg struct { + Code int `json:"code"` + Message string `json:"message"` + Data struct { + HadSignDays int `json:"hadSignDays"` + } `json:"data"` + } + if e := json.Unmarshal(req.Respon,&msg);e != nil{ + apilog.L(`E: `,e) + } + if msg.Code == 0 {apilog.L(`I: `,`签到成功!本月已签到`, msg.Data.HadSignDays,`天`);return} + apilog.L(`E: `,msg.Message) + } } \ No newline at end of file diff --git a/bili_danmu.go b/bili_danmu.go index a3ce0af..832fdf9 100644 --- a/bili_danmu.go +++ b/bili_danmu.go @@ -140,6 +140,8 @@ func Demo(roomid ...int) { api := F.New_api(c.Roomid).Get_host_Token().Get_live() c.Roomid = api.Roomid + //每日签到 + F.Dosign() //获取用户版本 api.Get_Version() //获取热门榜 diff --git a/demo/go.mod b/demo/go.mod index 930d8c4..955876a 100644 --- a/demo/go.mod +++ b/demo/go.mod @@ -7,16 +7,17 @@ require ( github.com/gofrs/uuid v4.0.0+incompatible // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/gotk3/gotk3 v0.5.2 // indirect - github.com/klauspost/compress v1.11.6 // indirect + github.com/klauspost/compress v1.11.7 // indirect github.com/miekg/dns v1.1.35 // indirect - github.com/mitchellh/mapstructure v1.4.0 // indirect + github.com/mitchellh/mapstructure v1.4.1 // indirect github.com/qydysky/bili_danmu v0.5.7 github.com/qydysky/part v0.3.6 // indirect github.com/shirou/gopsutil v3.20.12+incompatible // indirect github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect - golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect + golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect + golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c // indirect ) replace ( diff --git a/demo/go.sum b/demo/go.sum index 69fac61..5397ad9 100644 --- a/demo/go.sum +++ b/demo/go.sum @@ -34,6 +34,8 @@ github.com/klauspost/compress v1.11.4 h1:kz40R/YWls3iqT9zX9AHN3WoVsrAWVyui5sxuLq github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.6 h1:EgWPCW6O3n1D5n99Zq3xXBt9uCwRGvpwGOusOLNBRSQ= github.com/klauspost/compress v1.11.6/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -49,6 +51,8 @@ github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8 github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.0 h1:7ks8ZkOP5/ujthUsT07rNv+nkLXCQWKNHuwzOAesEks= github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/qydysky/gotk3 v0.0.0-20210103171910-327affdaaa80 h1:m7PkjhZ+yKFDaPrKxb6LUi1+dLd4WYWKWJmKTACi5yY= @@ -180,6 +184,8 @@ golang.org/x/net v0.0.0-20201216054612-986b41b23924 h1:QsnDpLLOKwHBBDa8nDws4DYNc golang.org/x/net v0.0.0-20201216054612-986b41b23924/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -209,6 +215,8 @@ golang.org/x/sys v0.0.0-20210110051926-789bb1bd4061 h1:DQmQoKxQWtyybCtX/3dIuDBcA golang.org/x/sys v0.0.0-20210110051926-789bb1bd4061/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2 h1:F9vNgpIiamoF+Q1/c78bikg/NScXEtbZSNEpnRelOzs= golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -- 2.39.2