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"
|
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)
|
length := len(e)
|
||||||
if length <= 0 {
|
if length <= 0 {
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -42,47 +42,56 @@ func (h *handler) loadEnnoblements(servers []string) (map[string]ennoblements, e
|
||||||
|
|
||||||
query := ""
|
query := ""
|
||||||
|
|
||||||
for _, w := range servers {
|
for _, server := 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 {
|
|
||||||
lastEnnoblementAt, ok := h.lastEnnoblementAt[server]
|
lastEnnoblementAt, ok := h.lastEnnoblementAt[server]
|
||||||
if !ok {
|
if !ok {
|
||||||
lastEnnoblementAt = time.Now().Add(-1 * time.Minute)
|
lastEnnoblementAt = time.Now().Add(-1 * time.Minute)
|
||||||
}
|
}
|
||||||
if mode.Get() == mode.DevelopmentMode {
|
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()
|
lastEnnoblement := m[server].getLastEnnoblement()
|
||||||
if lastEnnoblement != nil {
|
if lastEnnoblement != nil {
|
||||||
lastEnnoblementAt = lastEnnoblement.EnnobledAt
|
h.lastEnnoblementAt[server] = lastEnnoblement.EnnobledAt
|
||||||
}
|
}
|
||||||
h.lastEnnoblementAt[server] = lastEnnoblementAt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return m, nil
|
return m, nil
|
||||||
|
|
|
@ -1,23 +1,10 @@
|
||||||
package cron
|
package cron
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/tribalwarshelp/dcbot/utils"
|
"github.com/tribalwarshelp/dcbot/utils"
|
||||||
shared_models "github.com/tribalwarshelp/shared/models"
|
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 {
|
func isBarbarian(p *shared_models.Player) bool {
|
||||||
return utils.IsPlayerNil(p) || p.ID == 0
|
return utils.IsPlayerNil(p) || p.ID == 0
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ type newMessageConfig struct {
|
||||||
t messageType
|
t messageType
|
||||||
host string
|
host string
|
||||||
server string
|
server string
|
||||||
ennoblement *shared_models.LiveEnnoblement
|
ennoblement *shared_models.Ennoblement
|
||||||
localizer *i18n.Localizer
|
localizer *i18n.Localizer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
4
go.mod
4
go.mod
|
@ -11,7 +11,7 @@ require (
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/robfig/cron/v3 v3.0.1
|
github.com/robfig/cron/v3 v3.0.1
|
||||||
github.com/sirupsen/logrus v1.7.0
|
github.com/sirupsen/logrus v1.7.0
|
||||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210109140547-96a34cf3e791
|
github.com/tribalwarshelp/golang-sdk v0.0.0-20210115181344-377475f6124a
|
||||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235
|
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db
|
||||||
golang.org/x/text v0.3.3
|
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/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 h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
|
||||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
|
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-20210115181344-377475f6124a h1:FgGlIfBeZUvX12GfBVKL5urrHA50mozrCqnp0f+tYlM=
|
||||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20210109140547-96a34cf3e791/go.mod h1:X2RzUUQuCWXS+CU67g0Pdjndfaao6xKzIVSlhta/glI=
|
github.com/tribalwarshelp/golang-sdk v0.0.0-20210115181344-377475f6124a/go.mod h1:5TV566+A6eY09l+6UfUVdWTJTLnFAHj+n956azq1hkM=
|
||||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235 h1:VMc5zgClXx9IPMK4ttyVpElrOr4dWZ/gKMlASzpiuzA=
|
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db h1:RzMEF4BP3YJ7jJOyYO00TdeB6DY7g0Dp/8cQ8t6WKzw=
|
||||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
|
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 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94=
|
||||||
github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ=
|
github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ=
|
||||||
github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0cd26cZoE=
|
github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0cd26cZoE=
|
||||||
|
|
1
main.go
1
main.go
|
@ -38,6 +38,7 @@ func init() {
|
||||||
|
|
||||||
if mode.Get() == mode.DevelopmentMode {
|
if mode.Get() == mode.DevelopmentMode {
|
||||||
godotenv.Load(".env.development")
|
godotenv.Load(".env.development")
|
||||||
|
logrus.SetLevel(logrus.DebugLevel)
|
||||||
}
|
}
|
||||||
|
|
||||||
customFormatter := new(logrus.TextFormatter)
|
customFormatter := new(logrus.TextFormatter)
|
||||||
|
|
Reference in New Issue