update
This commit is contained in:
@@ -118,6 +118,8 @@ func AddCommand(prefix string, cmds []Function) {
|
|||||||
}
|
}
|
||||||
cmd.Rules[i] = strings.Replace(cmd.Rules[i], " ", `\s+`, -1)
|
cmd.Rules[i] = strings.Replace(cmd.Rules[i], " ", `\s+`, -1)
|
||||||
cmd.Rules[i] = strings.Replace(cmd.Rules[i], "?", `(\S+)`, -1)
|
cmd.Rules[i] = strings.Replace(cmd.Rules[i], "?", `(\S+)`, -1)
|
||||||
|
cmd.Rules[i] = strings.Replace(cmd.Rules[i], "(", `[(]`, -1)
|
||||||
|
cmd.Rules[i] = strings.Replace(cmd.Rules[i], ")", `[)]`, -1)
|
||||||
cmd.Rules[i] = "^" + cmd.Rules[i] + "$"
|
cmd.Rules[i] = "^" + cmd.Rules[i] + "$"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,47 @@ func init() {
|
|||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Rules: []string{`today bean(?)`},
|
||||||
|
Admin: true,
|
||||||
|
Handle: func(s im.Sender) interface{} {
|
||||||
|
a := s.Get()
|
||||||
|
envs, err := qinglong.GetEnvs("JD_COOKIE")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if len(envs) == 0 {
|
||||||
|
return "青龙没有京东账号。"
|
||||||
|
}
|
||||||
|
cks := []JdCookie{}
|
||||||
|
for _, env := range envs {
|
||||||
|
pt_key := FetchJdCookieValue("pt_key", env.Value)
|
||||||
|
pt_pin := FetchJdCookieValue("pt_pin", env.Value)
|
||||||
|
if pt_key != "" && pt_pin != "" {
|
||||||
|
cks = append(cks, JdCookie{
|
||||||
|
PtKey: pt_key,
|
||||||
|
PtPin: pt_pin,
|
||||||
|
Note: env.Remarks,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cks = LimitJdCookie(cks, a)
|
||||||
|
if len(cks) == 0 {
|
||||||
|
return "没有匹配的京东账号。"
|
||||||
|
}
|
||||||
|
var beans []chan int
|
||||||
|
for _, ck := range cks {
|
||||||
|
var bean = make(chan int)
|
||||||
|
go GetTodayBean(&ck, bean)
|
||||||
|
beans = append(beans, bean)
|
||||||
|
}
|
||||||
|
all := 0
|
||||||
|
for i := range beans {
|
||||||
|
all += <-beans[i]
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("今日收入%d京豆", all)
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -145,7 +186,6 @@ func (ck *JdCookie) QueryAsset() string {
|
|||||||
}
|
}
|
||||||
asset := Asset{}
|
asset := Asset{}
|
||||||
if ck.Available() {
|
if ck.Available() {
|
||||||
|
|
||||||
msgs = append(msgs, fmt.Sprintf("用户等级:%v", ck.UserLevel))
|
msgs = append(msgs, fmt.Sprintf("用户等级:%v", ck.UserLevel))
|
||||||
msgs = append(msgs, fmt.Sprintf("等级名称:%v", ck.LevelName))
|
msgs = append(msgs, fmt.Sprintf("等级名称:%v", ck.LevelName))
|
||||||
cookie := fmt.Sprintf("pt_key=%s;pt_pin=%s;", ck.PtKey, ck.PtPin)
|
cookie := fmt.Sprintf("pt_key=%s;pt_pin=%s;", ck.PtKey, ck.PtPin)
|
||||||
@@ -1023,3 +1063,38 @@ func FetchJdCookieValue(key string, cookies string) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetTodayBean(ck *JdCookie, state chan int) {
|
||||||
|
cookie := fmt.Sprintf("pt_key=%s;pt_pin=%s;", ck.PtKey, ck.PtPin)
|
||||||
|
today := time.Now().Local().Format("2006-01-02")
|
||||||
|
page := 1
|
||||||
|
end := false
|
||||||
|
in := 0
|
||||||
|
defer func() {
|
||||||
|
state <- in
|
||||||
|
}()
|
||||||
|
for {
|
||||||
|
if end {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
bds := getJingBeanBalanceDetail(page, cookie)
|
||||||
|
if bds == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
for _, bd := range bds {
|
||||||
|
amount := Int(bd.Amount)
|
||||||
|
if strings.Contains(bd.Date, today) {
|
||||||
|
if amount > 0 {
|
||||||
|
in += amount
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
end = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
page++
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user