This commit is contained in:
ZJY 2021-09-06 15:59:24 +08:00
commit 6d496ccbe4
2 changed files with 63 additions and 60 deletions

View File

@ -100,38 +100,40 @@ var handleMessage = func(msgs ...interface{}) interface{} {
PtKey: rsp,
WsKey: s[2],
}
ss := regexp.MustCompile(`pt_key=([^;=\s]+);pt_pin=([^;=\s]+)`).FindAllStringSubmatch(rsp, -1)
for _, s1 := range ss {
ck.PtPin = s1[2]
ck.PtKey = s1[1]
}
if sender.IsQQ() {
ck.QQ = sender.UserID
} else if sender.IsTG() {
ck.Telegram = sender.UserID
}
if nck, err := GetJdCookie(ck.PtPin); err == nil {
nck.InPool(ck.PtKey)
if nck.WsKey == "" || len(nck.WsKey) == 0 {
nck.Updates(JdCookie{
WsKey: ck.WsKey,
})
msg := fmt.Sprintf("写入WsKey并更新账号%s", ck.PtPin)
(&JdCookie{}).Push(msg)
logs.Info(msg)
} else {
msg := fmt.Sprintf("重复写入")
(&JdCookie{}).Push(msg)
logs.Info(msg)
if sender.IsQQ() {
ck.QQ = sender.UserID
} else if sender.IsTG() {
ck.Telegram = sender.UserID
}
if nck, err := GetJdCookie(ck.PtPin); err == nil {
nck.InPool(ck.PtKey)
if nck.WsKey == "" || len(nck.WsKey) == 0 {
nck.Updates(JdCookie{
WsKey: ck.WsKey,
})
msg := fmt.Sprintf("写入WsKey并更新账号%s", ck.PtPin)
if sender.IsQQ(){
ck.Update(QQ, ck.QQ)
}
sender.Reply(fmt.Sprintf(msg, AddCoin(sender.UserID)))
(&JdCookie{}).Push(msg)
logs.Info(msg)
} else {
NewJdCookie(&ck)
msg := fmt.Sprintf("添加账号,%s", ck.PtPin)
sender.Reply(fmt.Sprintf(msg, AddCoin(sender.UserID)))
logs.Info(msg)
}
} else {
NewJdCookie(&ck)
msg := fmt.Sprintf("添加账号,%s", ck.PtPin)
if sender.IsQQ(){
ck.Update(QQ, ck.QQ)
}
sender.Reply(fmt.Sprintf(msg, AddCoin(sender.UserID)))
logs.Info(msg)
}
}
go func() {
@ -184,6 +186,10 @@ var handleMessage = func(msgs ...interface{}) interface{} {
if nck, err := GetJdCookie(ck.PtPin); err == nil {
nck.InPool(ck.PtKey)
msg := fmt.Sprintf("更新账号,%s", ck.PtPin)
if sender.IsQQ(){
ck.Update(QQ, ck.QQ)
}
sender.Reply(fmt.Sprintf(msg,AddCoin(sender.UserID)))
(&JdCookie{}).Push(msg)
logs.Info(msg)
} else {
@ -192,12 +198,15 @@ var handleMessage = func(msgs ...interface{}) interface{} {
}
NewJdCookie(&ck)
msg := fmt.Sprintf("添加账号,%s", ck.PtPin)
if sender.IsQQ(){
ck.Update(QQ, ck.QQ)
}
sender.Reply(fmt.Sprintf(msg, AddCoin(sender.UserID)))
logs.Info(msg)
}
}
} else {
sender.Reply(fmt.Sprintf("无效,许愿币-1余额%d", RemCoin(sender.UserID, 1)))
sender.Reply(fmt.Sprintf("无效,币-1余额%d", RemCoin(sender.UserID, 1)))
}
}
go func() {

View File

@ -75,8 +75,8 @@ func (sender *Sender) handleJdCookies(handle func(ck *JdCookie)) error {
}
}
if !ok {
sender.Reply("你尚未绑定🐶东账号,请联系管理也绑定,绑定后即可查询账户资产信息。")
return errors.New("你尚未绑定🐶东账号,请联系管理也绑定,绑定后即可查询账户资产信息。")
sender.Reply("你尚未绑定🐶东账号,请提交wskey提交后即可查询账户资产信息。")
return errors.New("你尚未绑定🐶东账号,请提交wskey提交后即可查询账户资产信息。")
}
} else {
cks = LimitJdCookie(cks, a)
@ -130,7 +130,7 @@ var codeSignals = []CodeSignal{
if zero.Unix() > u.ActiveAt.Unix() {
first = true
} else {
return fmt.Sprintf("你打过卡了,许愿币余额%d。", u.Coin)
return fmt.Sprintf("你打过卡了,币余额%d。", u.Coin)
}
}
if first {
@ -147,7 +147,7 @@ var codeSignals = []CodeSignal{
"coin": gorm.Expr(fmt.Sprintf("coin+%d", coin)),
})
u.Coin += coin
sender.Reply(fmt.Sprintf("你是打卡第%d人奖励%d个许愿币,许愿币余额%d。", total[0]+1, coin, u.Coin))
sender.Reply(fmt.Sprintf("你是打卡第%d人奖励%d个东币,东币余额%d。", total[0]+1, coin, u.Coin))
ReturnCoin(sender)
return ""
}
@ -155,18 +155,12 @@ var codeSignals = []CodeSignal{
},
},
{
Command: []string{"coin", "许愿币", "余额", "yu", "yue"},
Command: []string{"coin", "币", "余额", "yu", "yue"},
Handle: func(sender *Sender) interface{} {
return fmt.Sprintf("余额%d", GetCoin(sender.UserID))
},
},
{
Command: []string{"qrcode", "扫码", "二维码", "scan"},
Handle: func(sender *Sender) interface{} {
sender.Reply("已屏蔽联系管理员登录或者发送ck/wskey登录")
return errors.New("已屏蔽联系管理员登录或者发送ck/wskey登录")
return fmt.Sprintf("东币余额%d", GetCoin(sender.UserID))
},
},
{
Command: []string{"升级", "更新", "update", "upgrade"},
Admin: true,
@ -174,7 +168,7 @@ var codeSignals = []CodeSignal{
if err := Update(sender); err != nil {
return err.Error()
}
sender.Reply("小滴滴重启程序")
sender.Reply("重启程序")
Daemon()
return nil
},
@ -183,7 +177,7 @@ var codeSignals = []CodeSignal{
Command: []string{"重启", "reload", "restart", "reboot"},
Admin: true,
Handle: func(sender *Sender) interface{} {
sender.Reply("小滴滴重启程序")
sender.Reply("重启程序")
Daemon()
return nil
},
@ -193,11 +187,11 @@ var codeSignals = []CodeSignal{
Handle: func(sender *Sender) interface{} {
if !sender.IsAdmin {
coin := GetCoin(sender.UserID)
if coin < 0 {
return "许愿币不足以查看UserAgent。"
if coin < 10 {
return "币不足以查看UserAgent。"
}
sender.Reply("查看一次扣1个许愿币。")
RemCoin(sender.UserID, 1)
sender.Reply("查看一次扣10个东币。")
RemCoin(sender.UserID, 10)
}
return ua
},
@ -253,7 +247,7 @@ var codeSignals = []CodeSignal{
},
},
{
Command: []string{"翻翻乐"},
Command: []string{"赌一把"},
Handle: func(sender *Sender) interface{} {
cost := Int(sender.JoinContens())
if cost <= 0 || cost > 10000 {
@ -261,7 +255,7 @@ var codeSignals = []CodeSignal{
}
u := &User{}
if err := db.Where("number = ?", sender.UserID).First(u).Error; err != nil || u.Coin < cost {
return "许愿币不足,先去打卡吧。"
return "币不足,先去打卡吧。"
}
baga := 0
if u.Coin > 100000 {
@ -270,18 +264,18 @@ var codeSignals = []CodeSignal{
}
r := time.Now().Nanosecond() % 10
if r < 5 || baga > 0 {
sender.Reply(fmt.Sprintf("很遗憾你失去了%d枚许愿币。", cost))
sender.Reply(fmt.Sprintf("很遗憾你失去了%d枚币。", cost))
cost = -cost
} else {
if r == 9 {
cost *= 2
sender.Reply(fmt.Sprintf("恭喜你幸运暴击获得%d枚许愿20秒后自动转入余额。", cost))
sender.Reply(fmt.Sprintf("恭喜你幸运暴击获得%d枚20秒后自动转入余额。", cost))
time.Sleep(time.Second * 20)
} else {
sender.Reply(fmt.Sprintf("很幸运你获得%d枚许愿10秒后自动转入余额。", cost))
sender.Reply(fmt.Sprintf("很幸运你获得%d枚10秒后自动转入余额。", cost))
time.Sleep(time.Second * 10)
}
sender.Reply(fmt.Sprintf("%d枚许愿币已到账。", cost))
sender.Reply(fmt.Sprintf("%d枚币已到账。", cost))
}
db.Model(u).Update("coin", gorm.Expr(fmt.Sprintf("coin + %d", cost)))
return nil
@ -327,7 +321,7 @@ var codeSignals = []CodeSignal{
u := &User{}
if err := tx.Where("number = ?", sender.UserID).First(u).Error; err != nil {
tx.Rollback()
return "许愿币不足,先去打卡吧。"
return "币不足,先去打卡吧。"
}
w := &Wish{
Content: ct,
@ -336,7 +330,7 @@ var codeSignals = []CodeSignal{
}
if u.Coin < cost {
tx.Rollback()
return fmt.Sprintf("许愿币不足,需要%d个许愿币。", cost)
return fmt.Sprintf("东币不足,需要%d个东币。", cost)
}
if err := tx.Create(w).Error; err != nil {
tx.Rollback()
@ -348,7 +342,7 @@ var codeSignals = []CodeSignal{
}
tx.Commit()
(&JdCookie{}).Push(fmt.Sprintf("有人许愿%s愿望id为%d。", w.Content, w.ID))
return fmt.Sprintf("收到愿望,已扣除%d个许愿币。", cost)
return fmt.Sprintf("收到愿望,已扣除%d个币。", cost)
},
},
{
@ -514,7 +508,7 @@ var codeSignals = []CodeSignal{
).RowsAffected == 0 {
return "先去打卡吧你。"
}
return "许愿币+1"
return "币+1"
},
},
{
@ -597,7 +591,7 @@ var codeSignals = []CodeSignal{
db.Model(User{}).Where("number = ?", sender.UserID).Updates(map[string]interface{}{
"coin": gorm.Expr(fmt.Sprintf("coin - %d", cost)),
})
return fmt.Sprintf("转账成功,扣除手续费%d枚许愿币。", cost)
return fmt.Sprintf("转账成功,扣除手续费%d枚币。", cost)
}
if amount > 10000 {
return "单笔转账限额10000。"
@ -616,7 +610,7 @@ var codeSignals = []CodeSignal{
if !sender.IsAdmin {
if amount <= cost {
tx.Rollback()
return fmt.Sprintf("转账失败,手续费需要%d个许愿币。", cost)
return fmt.Sprintf("转账失败,手续费需要%d个币。", cost)
}
real = amount - cost
} else {
@ -698,15 +692,15 @@ func ReturnCoin(sender *Sender) {
"coin", gorm.Expr(fmt.Sprintf("coin + %d", w.Coin)),
).RowsAffected == 0 {
tx.Rollback()
sender.Reply("愿望未达成退还许愿币失败。")
sender.Reply("愿望未达成退还币失败。")
return
}
sender.Reply(fmt.Sprintf("愿望未达成退还%d枚许愿币。", w.Coin))
sender.Reply(fmt.Sprintf("愿望未达成退还%d枚币。", w.Coin))
if tx.Model(&w).Update(
"status", 1,
).RowsAffected == 0 {
tx.Rollback()
sender.Reply("愿望未达成退还许愿币失败。")
sender.Reply("愿望未达成退还币失败。")
return
}
}