diff --git a/cron/handler.go b/cron/handler.go index 115708b..42d3757 100644 --- a/cron/handler.go +++ b/cron/handler.go @@ -76,7 +76,7 @@ func (h *handler) loadEnnoblements(servers []string) (map[string]ennoblements, e lastEnnoblementAt = time.Now().Add(-60 * time.Minute * 23) } - m[server] = filterEnnoblements(ennoblements, lastEnnoblementAt) + m[server] = getRecentEnnoblements(ennoblements, lastEnnoblementAt) lastEnnoblement := m[server].getLastEnnoblement() if lastEnnoblement != nil { @@ -130,7 +130,7 @@ func (h *handler) checkEnnoblements() { } log. WithField("numberOfGroups", total). - Info("checkEnnoblements: Loaded groups") + Info("checkEnnoblements: loaded groups") versions, err := h.loadVersions(servers) if err != nil { @@ -139,13 +139,13 @@ func (h *handler) checkEnnoblements() { } log. WithField("numberOfVersions", len(versions)). - Info("checkEnnoblements: Loaded versions") + Info("checkEnnoblements: loaded versions") ennoblementsByServerKey, err := h.loadEnnoblements(servers) if err != nil { log.Errorln("checkEnnoblements:", err) } - log.Info("checkEnnoblements: Loaded ennoblements") + log.Info("checkEnnoblements: loaded ennoblements") for _, group := range groups { if group.ConqueredVillagesChannelID == "" && group.LostVillagesChannelID == "" { @@ -197,6 +197,7 @@ func (h *handler) checkEnnoblements() { } } + timestamp := time.Now().Format(time.RFC3339) if group.ConqueredVillagesChannelID != "" && !conqueredVillagesMsg.IsEmpty() { title := localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.CronConqueredVillagesTitle, @@ -209,7 +210,7 @@ func (h *handler) checkEnnoblements() { SetTitle(title). SetColor(colorConqueredVillages). SetFields(conqueredVillagesMsg.ToMessageEmbedFields()). - SetTimestamp(formatDateOfConquest(time.Now())). + SetTimestamp(timestamp). MessageEmbed) } @@ -225,7 +226,7 @@ func (h *handler) checkEnnoblements() { SetTitle(title). SetColor(colorLostVillages). SetFields(lostVillagesMsg.ToMessageEmbedFields()). - SetTimestamp(formatDateOfConquest(time.Now())). + SetTimestamp(timestamp). MessageEmbed) } } diff --git a/cron/helpers.go b/cron/helpers.go index 01feb32..c2b4189 100644 --- a/cron/helpers.go +++ b/cron/helpers.go @@ -7,7 +7,7 @@ import ( shared_models "github.com/tribalwarshelp/shared/models" ) -func filterEnnoblements(ennoblements []*shared_models.LiveEnnoblement, t time.Time) []*shared_models.LiveEnnoblement { +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) { @@ -18,10 +18,6 @@ func filterEnnoblements(ennoblements []*shared_models.LiveEnnoblement, t time.Ti return filtered } -func formatDateOfConquest(t time.Time) string { - return t.Format(time.RFC3339) -} - func isBarbarian(p *shared_models.Player) bool { return utils.IsPlayerNil(p) || p.ID == 0 } diff --git a/cron/message.go b/cron/message.go index c55a9dd..f71fa43 100644 --- a/cron/message.go +++ b/cron/message.go @@ -21,7 +21,6 @@ const ( type checkEnnoblementsMsg struct { t messageType server string - date string village string villageURL string oldOwnerName string @@ -46,7 +45,6 @@ type newMessageConfig struct { func newMessage(cfg newMessageConfig) checkEnnoblementsMsg { data := checkEnnoblementsMsg{ t: cfg.t, - date: formatDateOfConquest(cfg.ennoblement.EnnobledAt), server: cfg.server, village: "-", oldOwnerName: "-", diff --git a/discord/command.go b/discord/command.go index 8acfe07..8bf24eb 100644 --- a/discord/command.go +++ b/discord/command.go @@ -1,6 +1,7 @@ package discord import ( + "github.com/bwmarrin/discordgo" "github.com/nicksnyder/go-i18n/v2/i18n" "github.com/tribalwarshelp/dcbot/models" ) @@ -19,3 +20,20 @@ type commandCtx struct { server *models.Server localizer *i18n.Localizer } + +type commandHandler struct { + cmd Command + requireAdmPermissions bool + fn func(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) +} + +type commandHandlers []*commandHandler + +func (hs commandHandlers) find(cmd Command) *commandHandler { + for _, h := range hs { + if h.cmd == cmd { + return h + } + } + return nil +} diff --git a/discord/discord.go b/discord/discord.go index ca0c0bb..ec90444 100644 --- a/discord/discord.go +++ b/discord/discord.go @@ -19,23 +19,6 @@ import ( var log = logrus.WithField("package", "discord") -type handler struct { - cmd Command - requireAdmPermissions bool - fn func(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) -} - -type handlers []*handler - -func (hs handlers) find(cmd Command) *handler { - for _, h := range hs { - if h.cmd == cmd { - return h - } - } - return nil -} - type SessionConfig struct { Token string CommandPrefix string @@ -49,7 +32,7 @@ type SessionConfig struct { type Session struct { dg *discordgo.Session cfg SessionConfig - handlers handlers + handlers commandHandlers } func New(cfg SessionConfig) (*Session, error) { @@ -68,90 +51,90 @@ func New(cfg SessionConfig) (*Session, error) { } func (s *Session) init() error { - s.handlers = handlers{ - &handler{ + s.handlers = commandHandlers{ + &commandHandler{ cmd: HelpCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleHelpCommand, }, - &handler{ + &commandHandler{ cmd: AuthorCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleAuthorCommand, }, - &handler{ + &commandHandler{ cmd: TribeCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleTribeCommand, }, - &handler{ + &commandHandler{ cmd: ChangeLanguageCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleChangeLanguageCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: AddGroupCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleAddGroupCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: DeleteGroupCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleDeleteGroupCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: GroupsCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleGroupsCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: ObserveCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleObserveCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: DeleteObservationCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleDeleteObservationCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: ObservationsCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleObservationsCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: ConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleConqueredVillagesCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: DisableConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleDisableConqueredVillagesCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: LostVillagesCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleLostVillagesCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: DisableLostVillagesCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleDisableLostVillagesCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: ShowEnnobledBarbariansCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleShowEnnobledBarbariansCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: ShowInternalsCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleShowInternalsCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: CoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleCoordsTranslationCommand, requireAdmPermissions: true, }, - &handler{ + &commandHandler{ cmd: DisableCoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix), fn: s.handleDisableCoordsTranslationCommand, requireAdmPermissions: true, diff --git a/main.go b/main.go index c8eccc9..9ec8fc2 100644 --- a/main.go +++ b/main.go @@ -31,7 +31,7 @@ const ( commandPrefix = "tw!" ) -var status = "Tribal Wars | " + discord.HelpCommand.WithPrefix(commandPrefix).String() +var status = "tribalwarshelp.com | " + discord.HelpCommand.WithPrefix(commandPrefix).String() func init() { os.Setenv("TZ", "UTC") @@ -81,7 +81,6 @@ func main() { Verbose: true, }) } - logrus.WithFields(dbFields).Info("Connected to the database") serverRepo, err := server_repository.NewPgRepo(db) if err != nil { @@ -95,7 +94,7 @@ func main() { if err != nil { logrus.Fatal(err) } - logrus.Info("Loaded all repositories") + logrus.WithFields(dbFields).Info("Connected to the database") api := sdk.New(os.Getenv("API_URL")) @@ -133,7 +132,7 @@ func main() { defer c.Stop() logrus.Info("Started the cron scheduler") - logrus.Info("Bot is waiting for actions!") + logrus.Info("Bot is running!") channel := make(chan os.Signal, 1) signal.Notify(channel, os.Interrupt, os.Kill, syscall.SIGTERM, syscall.SIGINT)