test ref encoding
This commit is contained in:
parent
08e73139bb
commit
812690a973
10
client.go
10
client.go
@ -55,24 +55,24 @@ func getLockedRandomClient() (*ChirpClient, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setClientBusy(userID64 int64, from time.Time, duration time.Duration) error {
|
func setClientBusy(userID64 int64, from time.Time, duration time.Duration) error {
|
||||||
if from.UTC().Add(duration).After(time.Now().UTC()) {
|
|
||||||
if clt, ok := getLockedClient(userID64, false); ok {
|
if clt, ok := getLockedClient(userID64, false); ok {
|
||||||
|
if from.UTC().Add(duration).After(time.Now().UTC()) {
|
||||||
clt.CWIdle = false
|
clt.CWIdle = false
|
||||||
clt.CWBusyUntil = from.UTC().Add(duration)
|
clt.CWBusyUntil = from.UTC().Add(duration)
|
||||||
clt.Mux.Unlock()
|
|
||||||
log.Printf("setClientBusy[%s] : set for %s.\n", clt.Login, duration.String())
|
log.Printf("setClientBusy[%s] : set for %s.\n", clt.Login, duration.String())
|
||||||
|
} else {
|
||||||
|
log.Printf("setClientBusy[%s] : not updated.\n", clt.Login)
|
||||||
|
}
|
||||||
|
clt.Mux.Unlock()
|
||||||
return nil
|
return nil
|
||||||
} else {
|
} else {
|
||||||
return errors.New("Client not found.")
|
return errors.New("Client not found.")
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func setClientIdle(userID64 int64, from time.Time) error {
|
func setClientIdle(userID64 int64, from time.Time) error {
|
||||||
if clt, ok := getLockedClient(userID64, false); ok {
|
if clt, ok := getLockedClient(userID64, false); ok {
|
||||||
if from.UTC().After(clt.CWLastUpdate.UTC()) {
|
if from.UTC().After(clt.CWLastUpdate.UTC()) {
|
||||||
fmt.Printf("setClientIdle : updated.\n")
|
|
||||||
clt.CWBusyUntil = from
|
clt.CWBusyUntil = from
|
||||||
clt.CWIdle = true
|
clt.CWIdle = true
|
||||||
clt.CWLastUpdate = from
|
clt.CWLastUpdate = from
|
||||||
|
2
cron.go
2
cron.go
@ -46,9 +46,7 @@ func cronTribute() {
|
|||||||
muxClients.RLock()
|
muxClients.RLock()
|
||||||
for _, c := range clients {
|
for _, c := range clients {
|
||||||
if c.Active {
|
if c.Active {
|
||||||
log.Printf("cronTribute : class %s (%s)\n", c.CWClass, c.Login)
|
|
||||||
if c.CWClass == `Knight` {
|
if c.CWClass == `Knight` {
|
||||||
log.Printf("cronTribute : sending tribute\n", c.CWClass, c.Login)
|
|
||||||
clientSendCWMsgDelay(c.TGUserID64, `/tributes`, 0)
|
clientSendCWMsgDelay(c.TGUserID64, `/tributes`, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,16 @@
|
|||||||
"name": "Guild deposit chat",
|
"name": "Guild deposit chat",
|
||||||
"obj_type": "msg"
|
"obj_type": "msg"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"intl_id": "msg_guild_gwithdraw_req",
|
||||||
|
"name": "Guild withdraw conf req",
|
||||||
|
"obj_type": "msg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"intl_id": "msg_guild_gwithdraw_ack",
|
||||||
|
"name": "Guild withdraw conf ack",
|
||||||
|
"obj_type": "msg"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"intl_id": "msg_war",
|
"intl_id": "msg_war",
|
||||||
"name": "War report",
|
"name": "War report",
|
||||||
|
30
job.go
30
job.go
@ -4,6 +4,8 @@ import (
|
|||||||
"archive/zip"
|
"archive/zip"
|
||||||
"bytes"
|
"bytes"
|
||||||
"compress/zlib"
|
"compress/zlib"
|
||||||
|
"crypto/sha256"
|
||||||
|
"encoding/binary"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -15,6 +17,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/lytics/base62"
|
||||||
tb "gopkg.in/tucnak/telebot.v2"
|
tb "gopkg.in/tucnak/telebot.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1556,10 +1559,33 @@ func jobGWithdraw(j Job) {
|
|||||||
createJobCallback(cacheObjSubType[`job_msg_del`], j.UserID64, p2.MsgTypeID64, b2, time.Minute)
|
createJobCallback(cacheObjSubType[`job_msg_del`], j.UserID64, p2.MsgTypeID64, b2, time.Minute)
|
||||||
clientSendCWMsg(j.UserID64, `/g_stock_other`)
|
clientSendCWMsg(j.UserID64, `/g_stock_other`)
|
||||||
} else {
|
} else {
|
||||||
_, err := getLockedRoleClient(`commander`)
|
/*
|
||||||
|
c, err := getLockedRoleClient(`commander`)
|
||||||
logOnError(err, "jobGWithdraw: getLockedRoleClient(commander)")
|
logOnError(err, "jobGWithdraw: getLockedRoleClient(commander)")
|
||||||
|
if err == nil {
|
||||||
|
c.Mux.Unlock()
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
b, _ := json.Marshal(p)
|
b, _ := json.Marshal(p)
|
||||||
log.Printf("jobGWithdraw[%d] : got all the info\n%s\n", j.ID64, string(b))
|
id, err := createJob(cacheObjSubType[`job_gwithdraw`], objJobPriority, userID64, 0, time.Unix(maxUnixTimestamp, 0).UTC(), b)
|
||||||
|
|
||||||
|
sha256 := sha256.Sum256([]byte(s))
|
||||||
|
sha128 := sha256[:aes.BlockSize]
|
||||||
|
c, err := aes.NewCipher(sha128)
|
||||||
|
|
||||||
|
in := make([]byte, 0)
|
||||||
|
buf := make([]byte, 8)
|
||||||
|
binary.LittleEndian.PutUint64(buf, uint64(id))
|
||||||
|
in = append(in, buf)
|
||||||
|
binary.LittleEndian.PutUint64(buf, uint64(j.UserID64))
|
||||||
|
in = append(in, buf)
|
||||||
|
out := make([]byte, len(in))
|
||||||
|
|
||||||
|
c.Encrypt(out, in)
|
||||||
|
ref := base62.StdEncoding.EncodeToString(out)
|
||||||
|
|
||||||
|
log.Printf("jobGWithdraw[%d] : got all the info for ref %s\n", j.ID64, string(ref))
|
||||||
}
|
}
|
||||||
|
|
||||||
err = setJobDone(j.ID64)
|
err = setJobDone(j.ID64)
|
||||||
|
20
rules.go
20
rules.go
@ -19,6 +19,26 @@ func resetMsgParsingRules() error {
|
|||||||
|
|
||||||
err = json.Unmarshal(b, &rules)
|
err = json.Unmarshal(b, &rules)
|
||||||
|
|
||||||
|
r := MessageParsingRule{
|
||||||
|
Priority: 9999,
|
||||||
|
Description: "Withdrawal request",
|
||||||
|
Rule: "^To validate (@[A-Za-z0-9]*) withdrawal of\n([0-9]+ x .*\n)+(Click /withdraw_[a-zA-Z0-9]{22})$",
|
||||||
|
MsgTypeID64: cacheObjSubType[`msg_guild_gwithdraw_req`],
|
||||||
|
ChatID64: cfg.Bot.Mainchat,
|
||||||
|
SenderUserID64: 0,
|
||||||
|
}
|
||||||
|
rules2 = append(rules2, r)
|
||||||
|
|
||||||
|
r := MessageParsingRule{
|
||||||
|
Priority: 9999,
|
||||||
|
Description: "Withdrawal acknowledgment",
|
||||||
|
Rule: "^/withdraw_[a-zA-Z0-9]{22}$",
|
||||||
|
MsgTypeID64: cacheObjSubType[`msg_guild_gwithdraw_ack`],
|
||||||
|
ChatID64: cfg.Bot.Mainchat,
|
||||||
|
SenderUserID64: 0,
|
||||||
|
}
|
||||||
|
rules2 = append(rules2, r)
|
||||||
|
|
||||||
r := MessageParsingRule{
|
r := MessageParsingRule{
|
||||||
Priority: 1,
|
Priority: 1,
|
||||||
Description: "Default Main chat",
|
Description: "Default Main chat",
|
||||||
|
Loading…
Reference in New Issue
Block a user