diff --git a/cron/handler.go b/cron/handler.go index 7ef692b..7d952ad 100644 --- a/cron/handler.go +++ b/cron/handler.go @@ -35,6 +35,10 @@ type handler struct { func (h *handler) loadEnnoblements(servers []string) (map[string]ennoblements, error) { m := make(map[string]ennoblements) + if len(servers) == 0 { + return m, nil + } + query := "" for _, w := range servers { @@ -87,7 +91,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 := utils.LanguageTagFromWorldName(server) + languageTag := utils.LanguageTagFromServerKey(server) if languageTag.IsValid() && !cache[languageTag] { cache[languageTag] = true languageTags = append(languageTags, languageTag) @@ -140,7 +144,7 @@ func (h *handler) checkEnnoblements() { conqueredVillagesMsg := &discord.EmbedMessage{} for _, observation := range group.Observations { ennoblements, ok := ennoblementsByServerKey[observation.Server] - langVersion := utils.FindLangVersionByTag(langVersions, utils.LanguageTagFromWorldName(observation.Server)) + langVersion := utils.FindLangVersionByTag(langVersions, utils.LanguageTagFromServerKey(observation.Server)) if ok && langVersion != nil && langVersion.Host != "" { if group.LostVillagesChannelID != "" { for _, ennoblement := range ennoblements.getLostVillagesByTribe(observation.TribeID) { diff --git a/discord/coords_translation.go b/discord/coords_translation.go index d69ee83..c113349 100644 --- a/discord/coords_translation.go +++ b/discord/coords_translation.go @@ -96,7 +96,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(utils.LanguageTagFromWorldName(ctx.server.CoordsTranslation)) + langVersion, err := s.cfg.API.LangVersions.Read(utils.LanguageTagFromServerKey(ctx.server.CoordsTranslation)) if err != nil || langVersion == nil { return } diff --git a/discord/observations.go b/discord/observations.go index e0f97e5..b721699 100644 --- a/discord/observations.go +++ b/discord/observations.go @@ -754,7 +754,7 @@ func (s *Session) handleObservationsCommand(ctx commandCtx, m *discordgo.Message langTags := []shared_models.LanguageTag{} for _, observation := range observations { tribeIDsByServer[observation.Server] = append(tribeIDsByServer[observation.Server], observation.TribeID) - currentLangTag := utils.LanguageTagFromWorldName(observation.Server) + currentLangTag := utils.LanguageTagFromServerKey(observation.Server) unique := true for _, langTag := range langTags { if langTag == currentLangTag { @@ -804,7 +804,7 @@ func (s *Session) handleObservationsCommand(ctx commandCtx, m *discordgo.Message if observation.Tribe != nil { tag = observation.Tribe.Tag } - lv := utils.FindLangVersionByTag(langVersionList.Items, utils.LanguageTagFromWorldName(observation.Server)) + lv := utils.FindLangVersionByTag(langVersionList.Items, utils.LanguageTagFromServerKey(observation.Server)) tribeURL := "" if lv != nil { tribeURL = utils.FormatTribeURL(observation.Server, lv.Host, observation.TribeID) diff --git a/discord/public_commands.go b/discord/public_commands.go index 8cec713..6fe5704 100644 --- a/discord/public_commands.go +++ b/discord/public_commands.go @@ -37,48 +37,48 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) - %s `, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.tribe.topoda", - DefaultMessage: message.FallbackMsg("help.tribe.topoda", + MessageID: message.HelpTribeTopODA, + 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": tribeCMDWithPrefix + " " + TopODACommand.String(), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.tribe.topodd", - DefaultMessage: message.FallbackMsg("help.tribe.topodd", + MessageID: message.HelpTribeTopODD, + 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": tribeCMDWithPrefix + " " + TopODDCommand.String(), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.tribe.topods", - DefaultMessage: message.FallbackMsg("help.tribe.topods", + MessageID: message.HelpTribeTopODS, + 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": tribeCMDWithPrefix + " " + TopODSCommand.String(), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.tribe.topod", - DefaultMessage: message.FallbackMsg("help.tribe.topod", + MessageID: message.HelpTribeTopOD, + 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": tribeCMDWithPrefix + " " + TopODCommand.String(), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.tribe.toppoints", - DefaultMessage: message.FallbackMsg("help.tribe.toppoints", + MessageID: message.HelpTribeTopPoints, + 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": tribeCMDWithPrefix + " " + TopPointsCommand.String(), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.author", - DefaultMessage: message.FallbackMsg("help.author", + MessageID: message.HelpAuthor, + DefaultMessage: message.FallbackMsg(message.HelpAuthor, "**{{.Command}}** - shows how to get in touch with the author."), TemplateData: map[string]interface{}{ "Command": AuthorCommand.WithPrefix(s.cfg.CommandPrefix), @@ -98,24 +98,24 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) - %s `, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.addgroup", - DefaultMessage: message.FallbackMsg("help.addgroup", + MessageID: message.HelpAddGroup, + DefaultMessage: message.FallbackMsg(message.HelpAddGroup, "**{{.Command}}** - adds a new observation group."), TemplateData: map[string]interface{}{ "Command": AddGroupCommand.WithPrefix(s.cfg.CommandPrefix), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.groups", - DefaultMessage: message.FallbackMsg("help.groups", + MessageID: message.HelpGroups, + DefaultMessage: message.FallbackMsg(message.HelpGroups, "**{{.Command}}** - shows you a list of groups created by this server."), TemplateData: map[string]interface{}{ "Command": GroupsCommand.WithPrefix(s.cfg.CommandPrefix), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.deletegroup", - DefaultMessage: message.FallbackMsg("help.deletegroup", + MessageID: message.HelpDeleteGroup, + DefaultMessage: message.FallbackMsg(message.HelpDeleteGroup, "**{{.Command}}** [group id from {{.GroupsCommand}}] - deletes an observation group."), TemplateData: map[string]interface{}{ "Command": DeleteGroupCommand.WithPrefix(s.cfg.CommandPrefix), @@ -123,8 +123,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.showennobledbarbs", - DefaultMessage: message.FallbackMsg("help.showennobledbarbs", + MessageID: message.HelpShowEnnobledBarbs, + DefaultMessage: message.FallbackMsg(message.HelpShowEnnobledBarbs, "**{{.Command}}** [group id from {{.GroupsCommand}}] - enables/disables notifications about ennobling barbarian villages."), TemplateData: map[string]interface{}{ "Command": ShowEnnobledBarbariansCommand.WithPrefix(s.cfg.CommandPrefix), @@ -132,8 +132,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.observe", - DefaultMessage: message.FallbackMsg("help.observe", + MessageID: message.HelpObserve, + DefaultMessage: message.FallbackMsg(message.HelpObserve, "**{{.Command}}** [group id from {{.GroupsCommand}}] [server] [tribe id] - adds a tribe to the observation group."), TemplateData: map[string]interface{}{ "Command": ObserveCommand.WithPrefix(s.cfg.CommandPrefix), @@ -141,8 +141,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.observations", - DefaultMessage: message.FallbackMsg("help.observations", + MessageID: message.HelpGroups, + DefaultMessage: message.FallbackMsg(message.HelpGroups, "**{{.Command}}** [group id from {{.GroupsCommand}}] - shows a list of observed tribes by this group."), TemplateData: map[string]interface{}{ "Command": ObservationsCommand.WithPrefix(s.cfg.CommandPrefix), @@ -150,8 +150,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.deleteobservation", - DefaultMessage: message.FallbackMsg("help.deleteobservation", + MessageID: message.HelpDeleteObservation, + DefaultMessage: message.FallbackMsg(message.HelpDeleteObservation, "**{{.Command}}** [group id from {{.GroupsCommand}}] [id from {{.ObservationsCommand}}] - removes a tribe from the observation group."), TemplateData: map[string]interface{}{ "Command": DeleteObservationCommand.WithPrefix(s.cfg.CommandPrefix), @@ -160,8 +160,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.conqueredvillages", - DefaultMessage: message.FallbackMsg("help.conqueredvillages", + MessageID: message.HelpConqueredVillages, + DefaultMessage: message.FallbackMsg(message.HelpConqueredVillages, "**{{.Command}}** [group id from {{.GroupsCommand}}] - changes the channel on which notifications about conquered village will show. IMPORTANT! Call this command on the channel you want to display these notifications."), TemplateData: map[string]interface{}{ "Command": ConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix), @@ -169,8 +169,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.disableconqueredvillages", - DefaultMessage: message.FallbackMsg("help.disableconqueredvillages", + MessageID: message.HelpDisableConqueredVillages, + DefaultMessage: message.FallbackMsg(message.HelpDisableConqueredVillages, "**{{.Command}}** [group id from {{.GroupsCommand}}] - disables notifications about conquered villages."), TemplateData: map[string]interface{}{ "Command": DisableConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix), @@ -188,8 +188,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) - %s `, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.lostvillages", - DefaultMessage: message.FallbackMsg("help.lostvillages", + MessageID: message.HelpLostVillages, + DefaultMessage: message.FallbackMsg(message.HelpLostVillages, "**{{.Command}}** [group id from {{.GroupsCommand}}] - changes the channel on which notifications about lost village will show. IMPORTANT! Call this command on the channel you want to display these notifications."), TemplateData: map[string]interface{}{ "Command": LostVillagesCommand.WithPrefix(s.cfg.CommandPrefix), @@ -197,8 +197,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.disablelostvillages", - DefaultMessage: message.FallbackMsg("help.disablelostvillages", + MessageID: message.HelpDisableLostVillages, + DefaultMessage: message.FallbackMsg(message.HelpDisableLostVillages, "**{{.Command}}** [group id from {{.GroupsCommand}}] - changes the channel on which notifications about lost village will show. IMPORTANT! Call this command on the channel you want to display these notifications."), TemplateData: map[string]interface{}{ "Command": DisableLostVillagesCommand.WithPrefix(s.cfg.CommandPrefix), @@ -206,8 +206,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.showinternals", - DefaultMessage: message.FallbackMsg("help.showinternals", + MessageID: message.HelpShowInternals, + DefaultMessage: message.FallbackMsg(message.HelpShowInternals, "**{{.Command}}** [group id from {{.GroupsCommand}}] - enables/disables notifications about in-group/in-tribe conquering."), TemplateData: map[string]interface{}{ "Command": ShowInternalsCommand.WithPrefix(s.cfg.CommandPrefix), @@ -215,8 +215,8 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.changelanguage", - DefaultMessage: message.FallbackMsg("help.changelanguage", + MessageID: message.HelpChangageLanguage, + DefaultMessage: message.FallbackMsg(message.HelpChangageLanguage, "**{{.Command}}** [{{.Languages}}] - changes language."), TemplateData: map[string]interface{}{ "Command": ChangeLanguageCommand.WithPrefix(s.cfg.CommandPrefix), @@ -224,16 +224,16 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.coordstranslation", - DefaultMessage: message.FallbackMsg("help.coordstranslation", + MessageID: message.HelpCoordsTranslation, + DefaultMessage: message.FallbackMsg(message.HelpCoordsTranslation, "**{{.Command}}** [server] - enables coords translation feature."), TemplateData: map[string]interface{}{ "Command": CoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix), }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.disablecoordstranslation", - DefaultMessage: message.FallbackMsg("help.disablecoordstranslation", + MessageID: message.HelpDisableCoordsTranslation, + DefaultMessage: message.FallbackMsg(message.HelpDisableCoordsTranslation, "**{{.Command}}** - disables coords translation feature."), TemplateData: map[string]interface{}{ "Command": DisableCoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix), @@ -242,23 +242,23 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) ) forAdmins := ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.forAdmins", - DefaultMessage: message.FallbackMsg("help.forAdmins", "For admins"), + MessageID: message.HelpForAdmins, + DefaultMessage: message.FallbackMsg(message.HelpForAdmins, "For admins"), }) s.SendEmbed(m.ChannelID, NewEmbed(). SetTitle(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.title", - DefaultMessage: message.FallbackMsg("help.title", "Help"), + MessageID: message.HelpTitle, + DefaultMessage: message.FallbackMsg(message.HelpTitle, "Help"), })). SetURL("https://dcbot.tribalwarshelp.com/"). SetDescription(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.description", - DefaultMessage: message.FallbackMsg("help.description", "Commands offered by bot"), + MessageID: message.HelpDescription, + DefaultMessage: message.FallbackMsg(message.HelpDescription, "Commands offered by bot"), })). AddField(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ - MessageID: "help.forAllUsers", - DefaultMessage: message.FallbackMsg("help.forAllUsers", "For all server members."), + MessageID: message.HelpForAllUsers, + DefaultMessage: message.FallbackMsg(message.HelpForAllUsers, "For all server members."), }), commandsForAll). AddField(forAdmins, commandsForGuildAdmins). AddField(forAdmins+" 2", commandsForGuildAdmins2). @@ -399,7 +399,7 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate, return } - langTag := utils.LanguageTagFromWorldName(world) + langTag := utils.LanguageTagFromServerKey(world) langVersion, err := s.cfg.API.LangVersions.Read(langTag) if err != nil || langVersion == nil { s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ diff --git a/message/ids.go b/message/ids.go new file mode 100644 index 0000000..af1e130 --- /dev/null +++ b/message/ids.go @@ -0,0 +1,29 @@ +package message + +const ( + HelpForAdmins = "help.forAdmins" + HelpTitle = "help.title" + HelpDescription = "help.description" + HelpForAllUsers = "help.forAllUsers" + HelpTribeTopODA = "help.tribe.topoda" + HelpTribeTopODD = "help.tribe.topodd" + HelpTribeTopODS = "help.tribe.topods" + HelpTribeTopOD = "help.tribe.topod" + HelpTribeTopPoints = "help.tribe.toppoints" + HelpAuthor = "help.author" + HelpAddGroup = "help.addgroup" + HelpGroups = "help.groups" + HelpDeleteGroup = "help.deletegroup" + HelpShowEnnobledBarbs = "help.showennobledbarbs" + HelpObserve = "help.observe" + HelpObservations = "help.observations" + HelpDeleteObservation = "help.deleteobservation" + HelpConqueredVillages = "help.conqueredvillages" + HelpDisableConqueredVillages = "help.disableconqueredvillages" + HelpLostVillages = "help.lostvillages" + HelpDisableLostVillages = "help.disablelostvillages" + HelpShowInternals = "help.showinternals" + HelpChangageLanguage = "help.changelanguage" + HelpCoordsTranslation = "help.coordstranslation" + HelpDisableCoordsTranslation = "help.disablecoordstranslation" +) diff --git a/message/translations/active.pl.json b/message/translations/active.pl.json index 271526f..bfe2bf0 100644 --- a/message/translations/active.pl.json +++ b/message/translations/active.pl.json @@ -11,7 +11,7 @@ "help.tribe.toppoints": "**{{.Command}}** [serwer] [strona] [id1] [id2] [id3] [n id] - Generuje listę graczy z wybranych plemion i sortuje po punktach.", "help.author": "**{{.Command}}** - pokazuje możliwe formy kontaktu z autorem.", "help.addgroup": "**{{.Command}}** - dodaje nową grupę obserwacyjną.", - "help.groups": "**{{.Command}}** - pokazuje listę grup dodanych przez administrację tego serwera Discord..", + "help.groups": "**{{.Command}}** - pokazuje listę grup dodanych przez administrację tego serwera Discord.", "help.deletegroup": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - usuwa grupę obserwacyjną.", "help.showennobledbarbs": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - włącza/wyłącza informacje o podbitych wioskach barbarzyńskich.", "help.observe": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] [serwer] [id plemienia] - dodaje plemię do grupy.", diff --git a/utils/language_tag_from_world_name.go b/utils/language_tag_from_world_name.go index fd731df..34699d9 100644 --- a/utils/language_tag_from_world_name.go +++ b/utils/language_tag_from_world_name.go @@ -4,9 +4,9 @@ import ( "github.com/tribalwarshelp/shared/models" ) -func LanguageTagFromWorldName(world string) models.LanguageTag { - if len(world) < 2 { +func LanguageTagFromServerKey(key string) models.LanguageTag { + if len(key) < 2 { return "" } - return models.LanguageTag(world[0:2]) + return models.LanguageTag(key[0:2]) }