init: mvp
This commit is contained in:
commit
e307989b9f
20 changed files with 835 additions and 0 deletions
80
internal/clicker/methods.go
Normal file
80
internal/clicker/methods.go
Normal file
|
@ -0,0 +1,80 @@
|
|||
package clicker
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/wzrayyy/tappin/internal/entity/user"
|
||||
)
|
||||
|
||||
func (c *Clicker) ClaimDailyKeys() error {
|
||||
m, err := json.Marshal(&claimDailyCipherRequest{
|
||||
Cipher: base64.StdEncoding.EncodeToString([]byte(strings.Repeat("0", 10) + fmt.Sprintf("|%d", c.telegramUserID))),
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = c.requestAndDecode("start-keys-minigame", nil, nil)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.requestAndDecode("claim-daily-keys-minigame", m, nil)
|
||||
}
|
||||
|
||||
func (c *Clicker) ClaimDailyCipher() error {
|
||||
cipher, err := c.clickerConfig.DailyCipher.Decode()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
m, err := json.Marshal(claimDailyCipherRequest{
|
||||
Cipher: cipher,
|
||||
})
|
||||
|
||||
return c.requestAndDecode("claim-daily-cipher", m, nil)
|
||||
}
|
||||
|
||||
func (c *Clicker) Tap(taps int) error {
|
||||
c.locks.User.RLock()
|
||||
m, err := json.Marshal(tapRequest{
|
||||
Count: taps,
|
||||
AvailableTaps: c.user.AvailableTaps - taps,
|
||||
Timestamp: time.Now().UnixMilli(),
|
||||
})
|
||||
c.locks.User.RUnlock()
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var u user.Response
|
||||
|
||||
err = c.requestAndDecode("tap", m, &u)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
c.locks.User.Lock()
|
||||
c.user = &u
|
||||
c.locks.User.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Clicker) BuyBoost(boost_id string) error {
|
||||
r, err := json.Marshal(buyBoostRequest{
|
||||
BoostID: boost_id,
|
||||
Timestamp: time.Now().UnixMilli(),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.requestAndDecode("buy-boost", r, nil)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue