replace the deprecated liveEnnoblements query with the ennoblements query
This commit is contained in:
parent
ad55e5c345
commit
c3b06c71a9
|
@ -5,9 +5,9 @@ import (
|
|||
shared_models "github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
type ennoblements []*shared_models.LiveEnnoblement
|
||||
type ennoblements []*shared_models.Ennoblement
|
||||
|
||||
func (e ennoblements) getLastEnnoblement() *shared_models.LiveEnnoblement {
|
||||
func (e ennoblements) getLastEnnoblement() *shared_models.Ennoblement {
|
||||
length := len(e)
|
||||
if length <= 0 {
|
||||
return nil
|
||||
|
|
|
@ -42,47 +42,56 @@ func (h *handler) loadEnnoblements(servers []string) (map[string]ennoblements, e
|
|||
|
||||
query := ""
|
||||
|
||||
for _, w := range servers {
|
||||
query += fmt.Sprintf(`
|
||||
%s: liveEnnoblements(server: "%s") {
|
||||
%s
|
||||
ennobledAt
|
||||
}
|
||||
`, w, w, sdk.LiveEnnoblementInclude{
|
||||
NewOwner: true,
|
||||
Village: true,
|
||||
NewOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
OldOwner: true,
|
||||
OldOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
}.String())
|
||||
}
|
||||
|
||||
resp := make(map[string]ennoblements)
|
||||
|
||||
if err := h.api.Post(fmt.Sprintf(`query { %s }`, query), &resp); err != nil {
|
||||
return m, errors.Wrap(err, "loadEnnoblements")
|
||||
}
|
||||
|
||||
for server, ennoblements := range resp {
|
||||
for _, server := range servers {
|
||||
lastEnnoblementAt, ok := h.lastEnnoblementAt[server]
|
||||
if !ok {
|
||||
lastEnnoblementAt = time.Now().Add(-1 * time.Minute)
|
||||
}
|
||||
if mode.Get() == mode.DevelopmentMode {
|
||||
lastEnnoblementAt = time.Now().Add(-60 * time.Minute * 23)
|
||||
lastEnnoblementAt = time.Now().Add(-1 * time.Hour * 2)
|
||||
}
|
||||
log.Println(h.lastEnnoblementAt)
|
||||
lastEnnoblementAtJSON, err := lastEnnoblementAt.MarshalJSON()
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
query += fmt.Sprintf(`
|
||||
%s: ennoblements(server: "%s", filter: { ennobledAtGT: %s }) {
|
||||
items {
|
||||
%s
|
||||
ennobledAt
|
||||
}
|
||||
}
|
||||
`, server,
|
||||
server,
|
||||
string(lastEnnoblementAtJSON),
|
||||
sdk.EnnoblementInclude{
|
||||
NewOwner: true,
|
||||
Village: true,
|
||||
NewOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
OldOwner: true,
|
||||
OldOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
}.String())
|
||||
}
|
||||
|
||||
m[server] = getRecentEnnoblements(ennoblements, lastEnnoblementAt)
|
||||
resp := make(map[string]*sdk.EnnoblementList)
|
||||
if err := h.api.Post(fmt.Sprintf(`query { %s }`, query), &resp); err != nil {
|
||||
return m, errors.Wrap(err, "loadEnnoblements")
|
||||
}
|
||||
|
||||
for server, singleServerResp := range resp {
|
||||
if singleServerResp == nil {
|
||||
continue
|
||||
}
|
||||
m[server] = ennoblements(singleServerResp.Items)
|
||||
lastEnnoblement := m[server].getLastEnnoblement()
|
||||
if lastEnnoblement != nil {
|
||||
lastEnnoblementAt = lastEnnoblement.EnnobledAt
|
||||
h.lastEnnoblementAt[server] = lastEnnoblement.EnnobledAt
|
||||
}
|
||||
h.lastEnnoblementAt[server] = lastEnnoblementAt
|
||||
}
|
||||
|
||||
return m, nil
|
||||
|
|
|
@ -1,23 +1,10 @@
|
|||
package cron
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/tribalwarshelp/dcbot/utils"
|
||||
shared_models "github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
func getRecentEnnoblements(ennoblements []*shared_models.LiveEnnoblement, t time.Time) []*shared_models.LiveEnnoblement {
|
||||
filtered := []*shared_models.LiveEnnoblement{}
|
||||
for _, ennoblement := range ennoblements {
|
||||
if ennoblement.EnnobledAt.Before(t) || ennoblement.EnnobledAt.Equal(t) {
|
||||
continue
|
||||
}
|
||||
filtered = append(filtered, ennoblement)
|
||||
}
|
||||
return filtered
|
||||
}
|
||||
|
||||
func isBarbarian(p *shared_models.Player) bool {
|
||||
return utils.IsPlayerNil(p) || p.ID == 0
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ type newMessageConfig struct {
|
|||
t messageType
|
||||
host string
|
||||
server string
|
||||
ennoblement *shared_models.LiveEnnoblement
|
||||
ennoblement *shared_models.Ennoblement
|
||||
localizer *i18n.Localizer
|
||||
}
|
||||
|
||||
|
|
4
go.mod
4
go.mod
|
@ -11,7 +11,7 @@ require (
|
|||
github.com/pkg/errors v0.9.1
|
||||
github.com/robfig/cron/v3 v3.0.1
|
||||
github.com/sirupsen/logrus v1.7.0
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210109140547-96a34cf3e791
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210115181344-377475f6124a
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db
|
||||
golang.org/x/text v0.3.3
|
||||
)
|
||||
|
|
8
go.sum
8
go.sum
|
@ -102,10 +102,10 @@ github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd
|
|||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210109140547-96a34cf3e791 h1:fkNzajsxRT1A9AtKQBcpdfS8EwhYrjdDpOq8+niLioQ=
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210109140547-96a34cf3e791/go.mod h1:X2RzUUQuCWXS+CU67g0Pdjndfaao6xKzIVSlhta/glI=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235 h1:VMc5zgClXx9IPMK4ttyVpElrOr4dWZ/gKMlASzpiuzA=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210115181344-377475f6124a h1:FgGlIfBeZUvX12GfBVKL5urrHA50mozrCqnp0f+tYlM=
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210115181344-377475f6124a/go.mod h1:5TV566+A6eY09l+6UfUVdWTJTLnFAHj+n956azq1hkM=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db h1:RzMEF4BP3YJ7jJOyYO00TdeB6DY7g0Dp/8cQ8t6WKzw=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
|
||||
github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94=
|
||||
github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ=
|
||||
github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0cd26cZoE=
|
||||
|
|
Reference in New Issue