test
This commit is contained in:
parent
bb18ea7ad7
commit
c2a8f9b022
|
@ -5,4 +5,6 @@ ChirpNestBot
|
||||||
- [ ] Items parsing/identification
|
- [ ] Items parsing/identification
|
||||||
- [ ] Withdrawal bot
|
- [ ] Withdrawal bot
|
||||||
- [x] Foray interception
|
- [x] Foray interception
|
||||||
- [ ] Tribute interception
|
- [ ] Tribute interception
|
||||||
|
- [ ] Experience graphs & forecast
|
||||||
|
- [ ] Redis/eliminate map race conditions
|
|
@ -21,7 +21,7 @@ func clientMsgMeAck(m *ChatWarsMessageMeAck) {
|
||||||
c.GuildID64 = m.GuildID64
|
c.GuildID64 = m.GuildID64
|
||||||
c.State = m.State
|
c.State = m.State
|
||||||
c.LastUpdate = m.Msg.Date
|
c.LastUpdate = m.Msg.Date
|
||||||
if cacheObjGuild[``].ObjID64 != m.GuildID64 && strings.Compare(c.Role, ``) == 0 {
|
if getObjGuildID(``) != m.GuildID64 && strings.Compare(c.Role, ``) == 0 {
|
||||||
clientSendCWMsg(m.Msg.UserID64, "/g_roles")
|
clientSendCWMsg(m.Msg.UserID64, "/g_roles")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ func clientMsgMeAck(m *ChatWarsMessageMeAck) {
|
||||||
LastUpdate: m.Msg.Date,
|
LastUpdate: m.Msg.Date,
|
||||||
}
|
}
|
||||||
clientsCW[m.Msg.UserID64] = &c
|
clientsCW[m.Msg.UserID64] = &c
|
||||||
if cacheObjGuild[``].ObjID64 != m.GuildID64 {
|
if getObjGuildID(``) != m.GuildID64 {
|
||||||
clientSendCWMsg(m.Msg.UserID64, "/g_roles")
|
clientSendCWMsg(m.Msg.UserID64, "/g_roles")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
36
obj.go
36
obj.go
|
@ -2,13 +2,14 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
cacheObjCastle map[string]ChatWarsCastle
|
cacheObjCastle sync.Map
|
||||||
cacheObjGuild map[string]ChatWarsGuild
|
cacheObjGuild sync.Map
|
||||||
cacheObjUser map[string]ChatWarsUser
|
cacheObjUser sync.Map
|
||||||
)
|
)
|
||||||
|
|
||||||
func getObjTypeId(objId int64) (int64, error) {
|
func getObjTypeId(objId int64) (int64, error) {
|
||||||
|
@ -157,7 +158,8 @@ func addObjCastle(logo string, name string) (int64, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getObjCastleID(s string) int64 {
|
func getObjCastleID(s string) int64 {
|
||||||
return cacheObjCastle[s].ObjID64
|
c, _ := cacheObjCastle.Load(s)
|
||||||
|
return c.ObjID64
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadObjCastle() error {
|
func loadObjCastle() error {
|
||||||
|
@ -167,7 +169,7 @@ func loadObjCastle() error {
|
||||||
name string
|
name string
|
||||||
)
|
)
|
||||||
|
|
||||||
cacheObjCastle = make(map[string]ChatWarsCastle)
|
cacheObjCastle = new(sync.Map)
|
||||||
|
|
||||||
castles, err := db.Query(`SELECT oc.obj_id, oc.logo, oc.name FROM obj_castle oc;`)
|
castles, err := db.Query(`SELECT oc.obj_id, oc.logo, oc.name FROM obj_castle oc;`)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -184,8 +186,8 @@ func loadObjCastle() error {
|
||||||
c.ObjID64 = id
|
c.ObjID64 = id
|
||||||
c.Logo = logo
|
c.Logo = logo
|
||||||
c.Name = name
|
c.Name = name
|
||||||
cacheObjCastle[logo] = *c
|
cacheObjCastle.Store(logo, *c)
|
||||||
cacheObjCastle[name] = *c
|
cacheObjCastle.Store(name, *c)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -241,7 +243,7 @@ func addObjGuild(tag string, name string) (int64, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getObjGuildID(s string) int64 {
|
func getObjGuildID(s string) int64 {
|
||||||
if g, ok := cacheObjGuild[s]; ok {
|
if g, ok := cacheObjGuild.Load(s); ok {
|
||||||
return g.ObjID64
|
return g.ObjID64
|
||||||
} else {
|
} else {
|
||||||
objID64, err := addObjGuild(s, ``)
|
objID64, err := addObjGuild(s, ``)
|
||||||
|
@ -250,9 +252,9 @@ func getObjGuildID(s string) int64 {
|
||||||
g.ObjID64 = objID64
|
g.ObjID64 = objID64
|
||||||
g.Tag = s
|
g.Tag = s
|
||||||
g.Name = ``
|
g.Name = ``
|
||||||
cacheObjGuild[s] = *g
|
cacheObjGuild.Store(s, *g)
|
||||||
|
return objID64
|
||||||
}
|
}
|
||||||
return cacheObjGuild[s].ObjID64
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadObjGuild() error {
|
func loadObjGuild() error {
|
||||||
|
@ -262,7 +264,7 @@ func loadObjGuild() error {
|
||||||
name string
|
name string
|
||||||
)
|
)
|
||||||
|
|
||||||
cacheObjGuild = make(map[string]ChatWarsGuild)
|
cacheObjGuild = new(sync.Map)
|
||||||
|
|
||||||
guilds, err := db.Query(`SELECT og.obj_id, og.tag, og.name FROM obj_guild og;`)
|
guilds, err := db.Query(`SELECT og.obj_id, og.tag, og.name FROM obj_guild og;`)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -279,7 +281,7 @@ func loadObjGuild() error {
|
||||||
g.ObjID64 = id
|
g.ObjID64 = id
|
||||||
g.Tag = tag
|
g.Tag = tag
|
||||||
g.Name = name
|
g.Name = name
|
||||||
cacheObjGuild[tag] = *g
|
cacheObjGuild.Store(tag, *g)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -335,7 +337,7 @@ func addObjUser(name string) (int64, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getObjUserID(s string) int64 {
|
func getObjUserID(s string) int64 {
|
||||||
if u, ok := cacheObjUser[s]; ok {
|
if u, ok := cacheObjUser.Load(s); ok {
|
||||||
return u.ObjID64
|
return u.ObjID64
|
||||||
} else {
|
} else {
|
||||||
objID64, err := addObjUser(s)
|
objID64, err := addObjUser(s)
|
||||||
|
@ -343,9 +345,9 @@ func getObjUserID(s string) int64 {
|
||||||
u := new(ChatWarsUser)
|
u := new(ChatWarsUser)
|
||||||
u.ObjID64 = objID64
|
u.ObjID64 = objID64
|
||||||
u.Name = s
|
u.Name = s
|
||||||
cacheObjUser[s] = *u
|
cacheObjUser.Store(s, *u)
|
||||||
|
return objID64
|
||||||
}
|
}
|
||||||
return cacheObjUser[s].ObjID64
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadObjUser() error {
|
func loadObjUser() error {
|
||||||
|
@ -354,7 +356,7 @@ func loadObjUser() error {
|
||||||
name string
|
name string
|
||||||
)
|
)
|
||||||
|
|
||||||
cacheObjUser = make(map[string]ChatWarsUser)
|
cacheObjUser = new(sync.Map)
|
||||||
|
|
||||||
users, err := db.Query(`SELECT ou.obj_id, ou.name FROM obj_user ou;`)
|
users, err := db.Query(`SELECT ou.obj_id, ou.name FROM obj_user ou;`)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -370,7 +372,7 @@ func loadObjUser() error {
|
||||||
u := new(ChatWarsUser)
|
u := new(ChatWarsUser)
|
||||||
u.ObjID64 = id
|
u.ObjID64 = id
|
||||||
u.Name = name
|
u.Name = name
|
||||||
cacheObjUser[name] = *u
|
cacheObjUser.Store(name, *u)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in New Issue
Block a user