update github.com/tribalwarshelp/shared
This commit is contained in:
parent
2e7c2eec67
commit
88aa66afdf
|
@ -5,7 +5,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
sharedutils "github.com/tribalwarshelp/shared/utils"
|
||||
"github.com/tribalwarshelp/shared/tw"
|
||||
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
"github.com/tribalwarshelp/dcbot/message"
|
||||
|
@ -92,7 +92,7 @@ func (h *handler) loadLangVersions(servers []string) ([]*shared_models.LangVersi
|
|||
languageTags := []shared_models.LanguageTag{}
|
||||
cache := make(map[shared_models.LanguageTag]bool)
|
||||
for _, server := range servers {
|
||||
languageTag := sharedutils.LanguageTagFromServerKey(server)
|
||||
languageTag := tw.LanguageTagFromServerKey(server)
|
||||
if languageTag.IsValid() && !cache[languageTag] {
|
||||
cache[languageTag] = true
|
||||
languageTags = append(languageTags, languageTag)
|
||||
|
@ -156,7 +156,7 @@ func (h *handler) checkEnnoblements() {
|
|||
conqueredVillagesMsg := &discord.MessageEmbed{}
|
||||
for _, observation := range group.Observations {
|
||||
ennoblements, ok := ennoblementsByServerKey[observation.Server]
|
||||
langVersion := utils.FindLangVersionByTag(langVersions, sharedutils.LanguageTagFromServerKey(observation.Server))
|
||||
langVersion := utils.FindLangVersionByTag(langVersions, tw.LanguageTagFromServerKey(observation.Server))
|
||||
if ok && langVersion != nil && langVersion.Host != "" {
|
||||
if group.LostVillagesChannelID != "" {
|
||||
for _, ennoblement := range ennoblements.getLostVillagesByTribe(observation.TribeID) {
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
"github.com/tribalwarshelp/dcbot/message"
|
||||
"github.com/tribalwarshelp/dcbot/utils"
|
||||
shared_models "github.com/tribalwarshelp/shared/models"
|
||||
"github.com/tribalwarshelp/shared/tw"
|
||||
)
|
||||
|
||||
type messageType string
|
||||
|
@ -56,23 +57,23 @@ func newMessage(cfg newMessageConfig) checkEnnoblementsMsg {
|
|||
}
|
||||
if !utils.IsVillageNil(cfg.ennoblement.Village) {
|
||||
data.village = cfg.ennoblement.Village.FullName()
|
||||
data.villageURL = utils.FormatVillageURL(cfg.server, cfg.host, cfg.ennoblement.Village.ID)
|
||||
data.villageURL = tw.BuildVillageURL(cfg.server, cfg.host, cfg.ennoblement.Village.ID)
|
||||
}
|
||||
if !utils.IsPlayerNil(cfg.ennoblement.OldOwner) {
|
||||
data.oldOwnerName = cfg.ennoblement.OldOwner.Name
|
||||
data.oldOwnerURL = utils.FormatPlayerURL(cfg.server, cfg.host, cfg.ennoblement.OldOwner.ID)
|
||||
data.oldOwnerURL = tw.BuildPlayerURL(cfg.server, cfg.host, cfg.ennoblement.OldOwner.ID)
|
||||
}
|
||||
if !utils.IsPlayerTribeNil(cfg.ennoblement.OldOwner) {
|
||||
data.oldOwnerTribeTag = cfg.ennoblement.OldOwner.Tribe.Tag
|
||||
data.oldOwnerTribeURL = utils.FormatTribeURL(cfg.server, cfg.host, cfg.ennoblement.OldOwner.Tribe.ID)
|
||||
data.oldOwnerTribeURL = tw.BuildTribeURL(cfg.server, cfg.host, cfg.ennoblement.OldOwner.Tribe.ID)
|
||||
}
|
||||
if !utils.IsPlayerNil(cfg.ennoblement.NewOwner) {
|
||||
data.newOwnerName = cfg.ennoblement.NewOwner.Name
|
||||
data.newOwnerURL = utils.FormatPlayerURL(cfg.server, cfg.host, cfg.ennoblement.NewOwner.ID)
|
||||
data.newOwnerURL = tw.BuildPlayerURL(cfg.server, cfg.host, cfg.ennoblement.NewOwner.ID)
|
||||
}
|
||||
if !utils.IsPlayerTribeNil(cfg.ennoblement.NewOwner) {
|
||||
data.newOwnerTribeTag = cfg.ennoblement.NewOwner.Tribe.Tag
|
||||
data.newOwnerTribeURL = utils.FormatTribeURL(cfg.server, cfg.host, cfg.ennoblement.NewOwner.Tribe.ID)
|
||||
data.newOwnerTribeURL = tw.BuildTribeURL(cfg.server, cfg.host, cfg.ennoblement.NewOwner.Tribe.ID)
|
||||
}
|
||||
|
||||
return data
|
||||
|
@ -84,11 +85,11 @@ func (msg checkEnnoblementsMsg) String() string {
|
|||
DefaultMessage: message.FallbackMsg(message.CronCheckEnnoblementsMsgLine,
|
||||
"{{.NewOwner}} ({{.NewOwnerTribe}}) has conquered {{.Village}} (Old owner: {{.OldOwner}} ({{.OldOwnerTribe}}))"),
|
||||
TemplateData: map[string]interface{}{
|
||||
"NewOwner": discord.FormatLink(msg.newOwnerName, msg.newOwnerURL),
|
||||
"NewOwnerTribe": discord.FormatLink(msg.newOwnerTribeTag, msg.newOwnerTribeURL),
|
||||
"Village": discord.FormatLink(msg.village, msg.villageURL),
|
||||
"OldOwner": discord.FormatLink(msg.oldOwnerName, msg.oldOwnerURL),
|
||||
"OldOwnerTribe": discord.FormatLink(msg.oldOwnerTribeTag, msg.oldOwnerTribeURL),
|
||||
"NewOwner": discord.BuildLink(msg.newOwnerName, msg.newOwnerURL),
|
||||
"NewOwnerTribe": discord.BuildLink(msg.newOwnerTribeTag, msg.newOwnerTribeURL),
|
||||
"Village": discord.BuildLink(msg.village, msg.villageURL),
|
||||
"OldOwner": discord.BuildLink(msg.oldOwnerName, msg.oldOwnerURL),
|
||||
"OldOwnerTribe": discord.BuildLink(msg.oldOwnerTribeTag, msg.oldOwnerTribeURL),
|
||||
},
|
||||
}) + "\n"
|
||||
}
|
||||
|
|
|
@ -4,14 +4,13 @@ import (
|
|||
"context"
|
||||
"regexp"
|
||||
|
||||
sharedutils "github.com/tribalwarshelp/shared/utils"
|
||||
|
||||
"github.com/bwmarrin/discordgo"
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
"github.com/tribalwarshelp/dcbot/message"
|
||||
"github.com/tribalwarshelp/dcbot/utils"
|
||||
"github.com/tribalwarshelp/golang-sdk/sdk"
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
"github.com/tribalwarshelp/shared/tw"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -87,7 +86,7 @@ func (s *Session) translateCoords(ctx *commandCtx, m *discordgo.MessageCreate) {
|
|||
coords := extractAllCoordsFromMessage(m.Content)
|
||||
coordsLen := len(coords)
|
||||
if coordsLen > 0 {
|
||||
langVersion, err := s.cfg.API.LangVersions.Read(sharedutils.LanguageTagFromServerKey(ctx.server.CoordsTranslation))
|
||||
langVersion, err := s.cfg.API.LangVersions.Read(tw.LanguageTagFromServerKey(ctx.server.CoordsTranslation))
|
||||
if err != nil || langVersion == nil {
|
||||
return
|
||||
}
|
||||
|
@ -110,18 +109,18 @@ func (s *Session) translateCoords(ctx *commandCtx, m *discordgo.MessageCreate) {
|
|||
|
||||
msg := &MessageEmbed{}
|
||||
for _, village := range list.Items {
|
||||
villageURL := utils.FormatVillageURL(ctx.server.CoordsTranslation, langVersion.Host, village.ID)
|
||||
villageURL := tw.BuildVillageURL(ctx.server.CoordsTranslation, langVersion.Host, village.ID)
|
||||
playerName := "-"
|
||||
playerURL := ""
|
||||
if !utils.IsPlayerNil(village.Player) {
|
||||
playerName = village.Player.Name
|
||||
playerURL = utils.FormatPlayerURL(ctx.server.CoordsTranslation, langVersion.Host, village.Player.ID)
|
||||
playerURL = tw.BuildPlayerURL(ctx.server.CoordsTranslation, langVersion.Host, village.Player.ID)
|
||||
}
|
||||
tribeName := "-"
|
||||
tribeURL := ""
|
||||
if !utils.IsPlayerTribeNil(village.Player) {
|
||||
tribeName = village.Player.Tribe.Name
|
||||
tribeURL = utils.FormatTribeURL(ctx.server.CoordsTranslation, langVersion.Host, village.Player.Tribe.ID)
|
||||
tribeURL = tw.BuildTribeURL(ctx.server.CoordsTranslation, langVersion.Host, village.Player.Tribe.ID)
|
||||
}
|
||||
|
||||
msg.Append(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -129,9 +128,9 @@ func (s *Session) translateCoords(ctx *commandCtx, m *discordgo.MessageCreate) {
|
|||
DefaultMessage: message.FallbackMsg(message.CoordsTranslationMessage,
|
||||
"{{.Village}} owned by {{.Player}} (Tribe: {{.Tribe}})."),
|
||||
TemplateData: map[string]interface{}{
|
||||
"Village": FormatLink(village.FullName(), villageURL),
|
||||
"Player": FormatLink(playerName, playerURL),
|
||||
"Tribe": FormatLink(tribeName, tribeURL),
|
||||
"Village": BuildLink(village.FullName(), villageURL),
|
||||
"Player": BuildLink(playerName, playerURL),
|
||||
"Tribe": BuildLink(tribeName, tribeURL),
|
||||
},
|
||||
}) + "\n")
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ func isValidLanguageTag(lang string) bool {
|
|||
return valid
|
||||
}
|
||||
|
||||
func FormatLink(text string, url string) string {
|
||||
func BuildLink(text string, url string) string {
|
||||
if url == "" {
|
||||
return text
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"fmt"
|
||||
"strconv"
|
||||
|
||||
sharedutils "github.com/tribalwarshelp/shared/utils"
|
||||
"github.com/tribalwarshelp/shared/tw"
|
||||
|
||||
"github.com/bwmarrin/discordgo"
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
|
@ -688,7 +688,7 @@ func (s *Session) handleObservationsCommand(ctx *commandCtx, m *discordgo.Messag
|
|||
langTags := []shared_models.LanguageTag{}
|
||||
for _, observation := range observations {
|
||||
tribeIDsByServer[observation.Server] = append(tribeIDsByServer[observation.Server], observation.TribeID)
|
||||
currentLangTag := sharedutils.LanguageTagFromServerKey(observation.Server)
|
||||
currentLangTag := tw.LanguageTagFromServerKey(observation.Server)
|
||||
unique := true
|
||||
for _, langTag := range langTags {
|
||||
if langTag == currentLangTag {
|
||||
|
@ -738,10 +738,10 @@ func (s *Session) handleObservationsCommand(ctx *commandCtx, m *discordgo.Messag
|
|||
if observation.Tribe != nil {
|
||||
tag = observation.Tribe.Tag
|
||||
}
|
||||
lv := utils.FindLangVersionByTag(langVersionList.Items, sharedutils.LanguageTagFromServerKey(observation.Server))
|
||||
lv := utils.FindLangVersionByTag(langVersionList.Items, tw.LanguageTagFromServerKey(observation.Server))
|
||||
tribeURL := ""
|
||||
if lv != nil {
|
||||
tribeURL = utils.FormatTribeURL(observation.Server, lv.Host, observation.TribeID)
|
||||
tribeURL = tw.BuildTribeURL(observation.Server, lv.Host, observation.TribeID)
|
||||
}
|
||||
msg.Append(fmt.Sprintf("**%d** | %d - %s - [``%s``](%s)\n", i+1, observation.ID,
|
||||
observation.Server,
|
||||
|
|
|
@ -9,11 +9,10 @@ import (
|
|||
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
shared_models "github.com/tribalwarshelp/shared/models"
|
||||
"github.com/tribalwarshelp/shared/tw"
|
||||
|
||||
"github.com/bwmarrin/discordgo"
|
||||
"github.com/tribalwarshelp/dcbot/utils"
|
||||
"github.com/tribalwarshelp/golang-sdk/sdk"
|
||||
sharedutils "github.com/tribalwarshelp/shared/utils"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -41,7 +40,7 @@ func (s *Session) handleHelpCommand(ctx *commandCtx, m *discordgo.MessageCreate,
|
|||
DefaultMessage: message.FallbackMsg(message.HelpTribeTopODA,
|
||||
"**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by ODA."),
|
||||
TemplateData: map[string]interface{}{
|
||||
"Command": TribeCommand + " " + TopODACommand,
|
||||
"Command": TribeCommand.WithPrefix(s.cfg.CommandPrefix) + " " + TopODACommand,
|
||||
},
|
||||
}),
|
||||
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -49,7 +48,7 @@ func (s *Session) handleHelpCommand(ctx *commandCtx, m *discordgo.MessageCreate,
|
|||
DefaultMessage: message.FallbackMsg(message.HelpTribeTopODD,
|
||||
"**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by ODD."),
|
||||
TemplateData: map[string]interface{}{
|
||||
"Command": TribeCommand + " " + TopODDCommand,
|
||||
"Command": TribeCommand.WithPrefix(s.cfg.CommandPrefix) + " " + TopODDCommand,
|
||||
},
|
||||
}),
|
||||
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -57,7 +56,7 @@ func (s *Session) handleHelpCommand(ctx *commandCtx, m *discordgo.MessageCreate,
|
|||
DefaultMessage: message.FallbackMsg(message.HelpTribeTopODS,
|
||||
"**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by ODS."),
|
||||
TemplateData: map[string]interface{}{
|
||||
"Command": TribeCommand + " " + TopODSCommand,
|
||||
"Command": TribeCommand.WithPrefix(s.cfg.CommandPrefix) + " " + TopODSCommand,
|
||||
},
|
||||
}),
|
||||
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -65,7 +64,7 @@ func (s *Session) handleHelpCommand(ctx *commandCtx, m *discordgo.MessageCreate,
|
|||
DefaultMessage: message.FallbackMsg(message.HelpTribeTopOD,
|
||||
"**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by OD."),
|
||||
TemplateData: map[string]interface{}{
|
||||
"Command": TribeCommand + " " + TopODCommand,
|
||||
"Command": TribeCommand.WithPrefix(s.cfg.CommandPrefix) + " " + TopODCommand,
|
||||
},
|
||||
}),
|
||||
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -73,7 +72,7 @@ func (s *Session) handleHelpCommand(ctx *commandCtx, m *discordgo.MessageCreate,
|
|||
DefaultMessage: message.FallbackMsg(message.HelpTribeTopPoints,
|
||||
"**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by points."),
|
||||
TemplateData: map[string]interface{}{
|
||||
"Command": TribeCommand + " " + TopPointsCommand,
|
||||
"Command": TribeCommand.WithPrefix(s.cfg.CommandPrefix) + " " + TopPointsCommand,
|
||||
},
|
||||
}),
|
||||
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -398,7 +397,7 @@ func (s *Session) handleTribeCommand(ctx *commandCtx, m *discordgo.MessageCreate
|
|||
return
|
||||
}
|
||||
|
||||
langTag := sharedutils.LanguageTagFromServerKey(world)
|
||||
langTag := tw.LanguageTagFromServerKey(world)
|
||||
langVersion, err := s.cfg.API.LangVersions.Read(langTag)
|
||||
if err != nil || langVersion == nil {
|
||||
s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -442,7 +441,7 @@ func (s *Session) handleTribeCommand(ctx *commandCtx, m *discordgo.MessageCreate
|
|||
tribeURL := "-"
|
||||
if player.Tribe != nil {
|
||||
tribeTag = player.Tribe.Tag
|
||||
tribeURL = utils.FormatTribeURL(world, langVersion.Host, player.Tribe.ID)
|
||||
tribeURL = tw.BuildTribeURL(world, langVersion.Host, player.Tribe.ID)
|
||||
}
|
||||
|
||||
msg.Append(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
|
||||
|
@ -452,7 +451,7 @@ func (s *Session) handleTribeCommand(ctx *commandCtx, m *discordgo.MessageCreate
|
|||
TemplateData: map[string]interface{}{
|
||||
"Index": offset + i + 1,
|
||||
"PlayerName": player.Name,
|
||||
"PlayerURL": utils.FormatPlayerURL(world, langVersion.Host, player.ID),
|
||||
"PlayerURL": tw.BuildPlayerURL(world, langVersion.Host, player.ID),
|
||||
"TribeTag": tribeTag,
|
||||
"TribeURL": tribeURL,
|
||||
"Rank": rank,
|
||||
|
|
2
go.mod
2
go.mod
|
@ -12,7 +12,7 @@ require (
|
|||
github.com/robfig/cron/v3 v3.0.1
|
||||
github.com/sirupsen/logrus v1.7.0
|
||||
github.com/tribalwarshelp/golang-sdk v0.0.0-20200903125555-7b6975e64f6f
|
||||
github.com/tribalwarshelp/shared v0.0.0-20201024182030-eeb4645da4ca
|
||||
github.com/tribalwarshelp/shared v0.0.0-20201031105753-5d4d8b307747
|
||||
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 // indirect
|
||||
golang.org/x/net v0.0.0-20201016165138-7b1cca2348c0 // indirect
|
||||
golang.org/x/sys v0.0.0-20201022201747-fb209a7c41cd // indirect
|
||||
|
|
2
go.sum
2
go.sum
|
@ -132,6 +132,8 @@ github.com/tribalwarshelp/shared v0.0.0-20200809125423-2bc2e8dfde95 h1:mO3ZR+o5U
|
|||
github.com/tribalwarshelp/shared v0.0.0-20200809125423-2bc2e8dfde95/go.mod h1:SSWchTkQdgeIDr0C68C7zopEIcBLCUa8Ic2CHenUaac=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20201024182030-eeb4645da4ca h1:YUm2O7+N75k3Oyu7GKqyxW6G1TmThh2N0LdbkZN67ZU=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20201024182030-eeb4645da4ca/go.mod h1:EsUl4FRcNDPvJg7ig3t0pEHOPxZnw5SXKYbxaI0IQJU=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20201031105753-5d4d8b307747 h1:ef1VuyVNNxa6ALTPS5X8dPEsAI7KuA3/umNNkrI4fIk=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20201031105753-5d4d8b307747/go.mod h1:Lxk6zaQhPTPrgz9ksMgg51m8XgflrCo/kRBx2cM3yfk=
|
||||
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=
|
||||
|
|
|
@ -1,29 +1,9 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
const (
|
||||
endpointTribeProfile = "/game.php?screen=info_ally&id=%d"
|
||||
endpointPlayerProfile = "/game.php?screen=info_player&id=%d"
|
||||
endpointVillageProfile = "/game.php?screen=info_village&id=%d"
|
||||
)
|
||||
|
||||
func FormatVillageURL(world, host string, id int) string {
|
||||
return fmt.Sprintf("https://%s.%s"+endpointVillageProfile, world, host, id)
|
||||
}
|
||||
|
||||
func FormatTribeURL(world, host string, id int) string {
|
||||
return fmt.Sprintf("https://%s.%s"+endpointTribeProfile, world, host, id)
|
||||
}
|
||||
|
||||
func FormatPlayerURL(world, host string, id int) string {
|
||||
return fmt.Sprintf("https://%s.%s"+endpointPlayerProfile, world, host, id)
|
||||
}
|
||||
|
||||
func IsPlayerNil(player *models.Player) bool {
|
||||
return player == nil
|
||||
}
|
||||
|
|
Reference in New Issue