o = i
apilog := apilog.Base_add(`LIVE_BUVID`).L(`T: `,`获取LIVE_BUVID`)
if live_buvid,ok := c.Cookie.LoadV(`LIVE_BUVID`).(string);ok && live_buvid != `` {apilog.L(`I: `,`存在`);return}
+ if c.Roomid == 0 {apilog.L(`E: `,`失败!无Roomid`);return}
if c.Cookie.Len() == 0 {apilog.L(`E: `,`失败!无cookie`);return}
if api_limit.TO() {apilog.L(`E: `,`超时!`);return}//超额请求阻塞,超时将取消
for {//获取
req := p.Req()
if err := req.Reqf(p.Rval{
- Url:`https://api.live.bilibili.com/rc/v1/Title/webTitles`,
+ Url:`https://live.bilibili.com/`+strconv.Itoa(c.Roomid),
Header:map[string]string{
- `Host`: `api.live.bilibili.com`,
+ `Host`: `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`: `text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8`,
`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`,
+ `Cache-Control`: `no-cache`,
`Referer`:"https://live.bilibili.com",
`DNT`: `1`,
+ `Upgrade-Insecure-Requests`: `1`,
},
Timeout:3,
Retry:2,
time.Sleep(time.Second)
}
}
-
+
Cookie := make(map[string]string)
c.Cookie.Range(func(k,v interface{})(bool){
Cookie[k.(string)] = v.(string)
p "github.com/qydysky/part"
ws "github.com/qydysky/part/websocket"
- g "github.com/qydysky/part/get"
msgq "github.com/qydysky/part/msgq"
reply "github.com/qydysky/bili_danmu/Reply"
send "github.com/qydysky/bili_danmu/Send"
c.Danmu_Main_mq.Push_tag(`change_room`,nil)
}
}
- if p.Checkfile().IsExist("cookie.txt") {
+ var cookieString string
+ if !p.Checkfile().IsExist("cookie.txt") {//读取cookie文件
+ go get_cookie()
+ p.Sys().Timeoutf(3)
+ } else {
q.File = "cookie.txt"
- f := p.File().FileWR(q)
- for k,v := range p.Cookies_String_2_Map(f){
+ cookieString := p.File().FileWR(q)
+ }
+
+ if cookieString == `` {//cookie.txt为空
+ danmulog.L(`E: `, `cookie.txt为空`)
+ go get_cookie()
+ p.Sys().Timeoutf(3)
+ } else {
+ for k,v := range p.Cookies_String_2_Map(cookieString){//cookie存入全局变量syncmap
c.Cookie.Store(k, v)
}
- if tmp_uid,e := g.SS(f,`DedeUserID=`,`;`,0,0);e == nil {
- if v,e := strconv.Atoi(tmp_uid);e == nil {
- c.Uid = v
- } else {
- danmulog.L(`E: `, `读取cookie错误`,e)
- go get_cookie()
- }
- } else {
- danmulog.L(`E: `, `读取cookie错误`,e)
+ if uid,ok := c.Cookie.LoadV(`DedeUserID`).(string);!ok{//cookie中DedeUserID
+ danmulog.L(`E: `, `读取cookie错误,无DedeUserID`)
+ go get_cookie()
+ p.Sys().Timeoutf(3)
+ } else if uid,e := strconv.Atoi(uid);e != nil{
+ danmulog.L(`E: `, e)
go get_cookie()
+ p.Sys().Timeoutf(3)
+ } else {
+ c.Uid = uid
}
- } else {
- go get_cookie()
- p.Sys().Timeoutf(3)
}
}
"Gtk弹幕窗":true,
"调用obs":false,
- "直播流":"",
- "保存flv直播流":true,
+ "直播流-help":"只有保存直播流时才考虑生成ass",
+ "保存flv直播流":false,
"生成Ass弹幕":true,
"弹幕处理":"",
github.com/miekg/dns v1.1.38 // indirect
github.com/mitchellh/mapstructure v1.4.1 // indirect
github.com/qydysky/bili_danmu v0.5.7
- github.com/qydysky/part v0.4.4 // indirect
+ github.com/qydysky/part v0.4.5 // indirect
github.com/shirou/gopsutil v3.21.1+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-20210218145215-b8e89b74b9df // indirect
- golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect
- golang.org/x/sys v0.0.0-20210218155724-8ebf48af031b // indirect
+ golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 // indirect
+ golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d // indirect
+ golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43 // indirect
)
replace (
github.com/qydysky/part v0.4.3/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
github.com/qydysky/part v0.4.4 h1:RtUcO6LhfO8CKk+fOhtSiLu9/IOa5aOe0IjIjpU2Bbk=
github.com/qydysky/part v0.4.4/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
+github.com/qydysky/part v0.4.5 h1:CxojfZ9g+UBWw2rUp2RZDCxRhY7kuqWiEyRYVaYQcqU=
+github.com/qydysky/part v0.4.5/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
github.com/qydysky/part/msgq v0.0.0-20201213031129-ca3253dc72ad h1:Jtzf509lQrkUMGTV0Sc6IDCAiR1VrBcHrIban7hpye4=
github.com/qydysky/part/msgq v0.0.0-20201213031129-ca3253dc72ad/go.mod h1:w32TkJNVtTJd4LOS09cq+4uYG6itcN2vsqw+slp44Rg=
github.com/qydysky/part/msgq v0.0.0-20201213120821-f36e49c32bba h1:1ew9dRpc0Rux0WkWeT/4AE15ynYWmL2D7onJEJIFOB8=
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210218145215-b8e89b74b9df h1:y7QZzfUiTwWam+xBn29Ulb8CBwVN5UdzmMDavl9Whlw=
golang.org/x/crypto v0.0.0-20210218145215-b8e89b74b9df/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
+golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g=
+golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
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/net v0.0.0-20210220033124-5f55cee0dc0d h1:1aflnvSoWWLI2k/dMUAl5lvU1YO4Mb4hz0gh+1rjcxU=
+golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/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=
golang.org/x/sys v0.0.0-20210217105451-b926d437f341/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210218155724-8ebf48af031b h1:lAZ0/chPUDWwjqosYR0X4M490zQhMsiJ4K3DbA7o+3g=
golang.org/x/sys v0.0.0-20210218155724-8ebf48af031b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43 h1:SgQ6LNaYJU0JIuEHv9+s6EbhSCwYeAf5Yvj6lpYlqAE=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/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=