From 88aa66afdfafbe6e5326bc3834a8547102ed4c92 Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Sat, 31 Oct 2020 12:16:21 +0100 Subject: [PATCH] update github.com/tribalwarshelp/shared --- cron/handler.go | 6 +++--- cron/message.go | 21 +++++++++++---------- discord/coords_translation.go | 17 ++++++++--------- discord/helpers.go | 2 +- discord/observations.go | 8 ++++---- discord/public_commands.go | 19 +++++++++---------- go.mod | 2 +- go.sum | 2 ++ utils/tribalwars.go | 20 -------------------- 9 files changed, 39 insertions(+), 58 deletions(-) diff --git a/cron/handler.go b/cron/handler.go index b4f5412..385e239 100644 --- a/cron/handler.go +++ b/cron/handler.go @@ -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) { diff --git a/cron/message.go b/cron/message.go index a16b627..c55a9dd 100644 --- a/cron/message.go +++ b/cron/message.go @@ -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" } diff --git a/discord/coords_translation.go b/discord/coords_translation.go index 64314cf..8e853d6 100644 --- a/discord/coords_translation.go +++ b/discord/coords_translation.go @@ -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") } diff --git a/discord/helpers.go b/discord/helpers.go index 6d1ac9b..00a9644 100644 --- a/discord/helpers.go +++ b/discord/helpers.go @@ -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 } diff --git a/discord/observations.go b/discord/observations.go index 2dbd2d1..c82aa13 100644 --- a/discord/observations.go +++ b/discord/observations.go @@ -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, diff --git a/discord/public_commands.go b/discord/public_commands.go index a6331d8..5f76464 100644 --- a/discord/public_commands.go +++ b/discord/public_commands.go @@ -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, diff --git a/go.mod b/go.mod index 2cba154..e0e9589 100644 --- a/go.mod +++ b/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 diff --git a/go.sum b/go.sum index aeac63f..c329bf1 100644 --- a/go.sum +++ b/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= diff --git a/utils/tribalwars.go b/utils/tribalwars.go index 5442ae8..fb55833 100644 --- a/utils/tribalwars.go +++ b/utils/tribalwars.go @@ -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 }