From 3a7248af58b8c3a583d20b7b7d1e152f58580d79 Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Sat, 17 Oct 2020 10:27:58 +0200 Subject: [PATCH] change the way discord message handlers are called --- discord/command.go | 4 +- discord/coords_translation.go | 14 +-- discord/discord.go | 184 ++++++++++++++++++++-------- discord/observations.go | 134 ++++---------------- discord/public_commands.go | 19 ++- message/translations/active.en.json | 2 +- 6 files changed, 171 insertions(+), 186 deletions(-) diff --git a/discord/command.go b/discord/command.go index 709ed59..8acfe07 100644 --- a/discord/command.go +++ b/discord/command.go @@ -11,8 +11,8 @@ func (cmd Command) String() string { return string(cmd) } -func (cmd Command) WithPrefix(prefix string) string { - return prefix + cmd.String() +func (cmd Command) WithPrefix(prefix string) Command { + return Command(prefix + cmd.String()) } type commandCtx struct { diff --git a/discord/coords_translation.go b/discord/coords_translation.go index 7f1f2b2..9b79ec9 100644 --- a/discord/coords_translation.go +++ b/discord/coords_translation.go @@ -20,11 +20,7 @@ const ( var coordsRegex = regexp.MustCompile(`(\d+)\|(\d+)`) -func (s *Session) handleCoordsTranslationCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleCoordsTranslationCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) if argsLength != 1 { s.SendMessage(m.ChannelID, @@ -67,11 +63,7 @@ func (s *Session) handleCoordsTranslationCommand(ctx commandCtx, m *discordgo.Me })) } -func (s *Session) handleDisableCoordsTranslationCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleDisableCoordsTranslationCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { ctx.server.CoordsTranslation = "" go s.cfg.ServerRepository.Update(context.Background(), ctx.server) @@ -86,7 +78,7 @@ func (s *Session) handleDisableCoordsTranslationCommand(ctx commandCtx, m *disco })) } -func (s *Session) translateCoords(ctx commandCtx, m *discordgo.MessageCreate) { +func (s *Session) translateCoords(ctx *commandCtx, m *discordgo.MessageCreate) { if ctx.server.CoordsTranslation == "" { return } diff --git a/discord/discord.go b/discord/discord.go index 87dbd0c..7b0d5e3 100644 --- a/discord/discord.go +++ b/discord/discord.go @@ -16,6 +16,23 @@ import ( "github.com/bwmarrin/discordgo" ) +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 @@ -27,8 +44,9 @@ type SessionConfig struct { } type Session struct { - dg *discordgo.Session - cfg SessionConfig + dg *discordgo.Session + cfg SessionConfig + handlers handlers } func New(cfg SessionConfig) (*Session, error) { @@ -47,6 +65,96 @@ func New(cfg SessionConfig) (*Session, error) { } func (s *Session) init() error { + s.handlers = handlers{ + &handler{ + cmd: HelpCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleHelpCommand, + }, + &handler{ + cmd: AuthorCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleAuthorCommand, + }, + &handler{ + cmd: TribeCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleTribeCommand, + }, + &handler{ + cmd: ChangeLanguageCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleChangeLanguageCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: AddGroupCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleAddGroupCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: DeleteGroupCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleDeleteGroupCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: GroupsCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleGroupsCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: ObserveCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleObserveCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: DeleteObservationCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleDeleteObservationCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: ObservationsCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleObservationsCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: ConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleConqueredVillagesCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: DisableConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleDisableConqueredVillagesCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: LostVillagesCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleLostVillagesCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: DisableLostVillagesCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleDisableLostVillagesCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: ShowEnnobledBarbariansCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleShowEnnobledBarbariansCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: ShowInternalsCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleShowInternalsCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: CoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleCoordsTranslationCommand, + requireAdmPermissions: true, + }, + &handler{ + cmd: DisableCoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix), + fn: s.handleDisableCoordsTranslationCommand, + requireAdmPermissions: true, + }, + } + s.dg.AddHandler(s.handleNewMessage) err := s.dg.Open() @@ -127,7 +235,7 @@ func (s *Session) IsGuildMember(guildID string) (bool, error) { } func (s *Session) handleNewMessage(_ *discordgo.Session, m *discordgo.MessageCreate) { - if m.Author.ID == s.dg.State.User.ID || m.Author.Bot || m.GuildID == "" { + if m.Author.ID == s.dg.State.User.ID || m.Author.Bot { return } @@ -138,58 +246,32 @@ func (s *Session) handleNewMessage(_ *discordgo.Session, m *discordgo.MessageCre ID: m.GuildID, Lang: message.GetDefaultLanguage().String(), } - if err := s.cfg.ServerRepository.Store(context.Background(), server); err != nil { - return + if server.ID != "" { + if err := s.cfg.ServerRepository.Store(context.Background(), server); err != nil { + return + } } - ctx := commandCtx{ + ctx := &commandCtx{ server: server, localizer: message.NewLocalizer(server.Lang), } - switch splitted[0] { - case HelpCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleHelpCommand(ctx, m) - case AuthorCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleAuthorCommand(m) - case TribeCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleTribeCommand(ctx, m, args...) - - case ChangeLanguageCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleChangeLanguageCommand(ctx, m, args...) - - case AddGroupCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleAddGroupCommand(ctx, m) - case DeleteGroupCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleDeleteGroupCommand(ctx, m, args...) - case GroupsCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleGroupsCommand(ctx, m) - case ObserveCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleObserveCommand(ctx, m, args...) - case DeleteObservationCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleDeleteObservationCommand(ctx, m, args...) - case ObservationsCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleObservationsCommand(ctx, m, args...) - case ConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleConqueredVillagesCommand(ctx, m, args...) - case DisableConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleDisableConqueredVillagesCommand(ctx, m, args...) - case LostVillagesCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleLostVillagesCommand(ctx, m, args...) - case DisableLostVillagesCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleDisableLostVillagesCommand(ctx, m, args...) - case ShowEnnobledBarbariansCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleShowEnnobledBarbariansCommand(ctx, m, args...) - case ShowInternalsCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleShowInternalsCommand(ctx, m, args...) - - case CoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleCoordsTranslationCommand(ctx, m, args...) - case DisableCoordsTranslationCommand.WithPrefix(s.cfg.CommandPrefix): - s.handleDisableCoordsTranslationCommand(ctx, m, args...) - - default: - s.translateCoords(ctx, m) + h := s.handlers.find(Command(splitted[0])) + if h != nil { + if h.requireAdmPermissions { + if m.GuildID == "" { + return + } + has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator) + if err != nil || !has { + return + } + } + h.fn(ctx, m, args...) + return } + + s.translateCoords(ctx, m) } func (s *Session) memberHasPermission(guildID string, userID string, permission int) (bool, error) { @@ -225,7 +307,3 @@ func (s *Session) memberHasPermission(guildID string, userID string, permission return false, nil } - -func (s *Session) sendUnknownCommandError(mention, channelID string, command ...string) { - s.SendMessage(channelID, mention+` Unknown command: `+strings.Join(command, " ")) -} diff --git a/discord/observations.go b/discord/observations.go index 4ebecc7..162d1f9 100644 --- a/discord/observations.go +++ b/discord/observations.go @@ -35,11 +35,7 @@ const ( ShowInternalsCommand Command = "showinternals" ) -func (s *Session) handleAddGroupCommand(ctx commandCtx, m *discordgo.MessageCreate) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleAddGroupCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { if len(ctx.server.Groups) >= groupsPerServer { s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ @@ -85,16 +81,9 @@ func (s *Session) handleAddGroupCommand(ctx commandCtx, m *discordgo.MessageCrea })) } -func (s *Session) handleDeleteGroupCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleDeleteGroupCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpDeleteGroup, @@ -138,11 +127,7 @@ func (s *Session) handleDeleteGroupCommand(ctx commandCtx, m *discordgo.MessageC })) } -func (s *Session) handleGroupsCommand(ctx commandCtx, m *discordgo.MessageCreate) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleGroupsCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { groups, _, err := s.cfg.GroupRepository.Fetch(context.Background(), &models.GroupFilter{ ServerID: []string{m.GuildID}, Order: []string{"id ASC"}, @@ -183,16 +168,9 @@ func (s *Session) handleGroupsCommand(ctx commandCtx, m *discordgo.MessageCreate MessageEmbed) } -func (s *Session) handleConqueredVillagesCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleConqueredVillagesCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpConqueredVillages, @@ -250,16 +228,9 @@ func (s *Session) handleConqueredVillagesCommand(ctx commandCtx, m *discordgo.Me })) } -func (s *Session) handleDisableConqueredVillagesCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleDisableConqueredVillagesCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpDisableConqueredVillages, @@ -319,16 +290,9 @@ func (s *Session) handleDisableConqueredVillagesCommand(ctx commandCtx, m *disco })) } -func (s *Session) handleLostVillagesCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleLostVillagesCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpLostVillages, @@ -388,16 +352,9 @@ func (s *Session) handleLostVillagesCommand(ctx commandCtx, m *discordgo.Message })) } -func (s *Session) handleDisableLostVillagesCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleDisableLostVillagesCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpDisableLostVillages, @@ -458,16 +415,9 @@ func (s *Session) handleDisableLostVillagesCommand(ctx commandCtx, m *discordgo. })) } -func (s *Session) handleObserveCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleObserveCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 3 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[3:argsLength]...) - return - } else if argsLength < 3 { + if argsLength != 3 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpObserve, @@ -601,16 +551,9 @@ func (s *Session) handleObserveCommand(ctx commandCtx, m *discordgo.MessageCreat })) } -func (s *Session) handleDeleteObservationCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleDeleteObservationCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 2 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[2:argsLength]...) - return - } else if argsLength < 2 { + if argsLength != 2 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpDeleteObservation, @@ -679,16 +622,9 @@ func (s *Session) handleDeleteObservationCommand(ctx commandCtx, m *discordgo.Me })) } -func (s *Session) handleObservationsCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleObservationsCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpObservations, @@ -819,16 +755,9 @@ func (s *Session) handleObservationsCommand(ctx commandCtx, m *discordgo.Message MessageEmbed) } -func (s *Session) handleShowEnnobledBarbariansCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleShowEnnobledBarbariansCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpShowEnnobledBarbs, @@ -906,16 +835,9 @@ func (s *Session) handleShowEnnobledBarbariansCommand(ctx commandCtx, m *discord } } -func (s *Session) handleChangeLanguageCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleChangeLanguageCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpChangageLanguage, @@ -957,6 +879,7 @@ func (s *Session) handleChangeLanguageCommand(ctx commandCtx, m *discordgo.Messa })) return } + ctx.localizer = message.NewLocalizer(lang) s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ @@ -969,16 +892,9 @@ func (s *Session) handleChangeLanguageCommand(ctx commandCtx, m *discordgo.Messa })) } -func (s *Session) handleShowInternalsCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { - if has, err := s.memberHasPermission(m.GuildID, m.Author.ID, discordgo.PermissionAdministrator); err != nil || !has { - return - } - +func (s *Session) handleShowInternalsCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) - if argsLength > 1 { - s.sendUnknownCommandError(m.Author.Mention(), m.ChannelID, args[1:argsLength]...) - return - } else if argsLength < 1 { + if argsLength != 1 { s.SendMessage(m.ChannelID, m.Author.Mention()+" "+ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpShowInternals, diff --git a/discord/public_commands.go b/discord/public_commands.go index 0ab13c4..0448b22 100644 --- a/discord/public_commands.go +++ b/discord/public_commands.go @@ -26,8 +26,7 @@ const ( AuthorCommand Command = "author" ) -func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) { - tribeCMDWithPrefix := TribeCommand.WithPrefix(s.cfg.CommandPrefix) +func (s *Session) handleHelpCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { commandsForAll := fmt.Sprintf(` - %s - %s @@ -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": tribeCMDWithPrefix + " " + TopODACommand.String(), + "Command": TribeCommand + " " + 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": tribeCMDWithPrefix + " " + TopODDCommand.String(), + "Command": TribeCommand + " " + 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": tribeCMDWithPrefix + " " + TopODSCommand.String(), + "Command": TribeCommand + " " + 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": tribeCMDWithPrefix + " " + TopODCommand.String(), + "Command": TribeCommand + " " + 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": tribeCMDWithPrefix + " " + TopPointsCommand.String(), + "Command": TribeCommand + " " + TopPointsCommand, }, }), ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ @@ -258,20 +257,20 @@ func (s *Session) handleHelpCommand(ctx commandCtx, m *discordgo.MessageCreate) })). AddField(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ MessageID: message.HelpForAllUsers, - DefaultMessage: message.FallbackMsg(message.HelpForAllUsers, "For all server members."), + DefaultMessage: message.FallbackMsg(message.HelpForAllUsers, "For everyone"), }), commandsForAll). AddField(forAdmins, commandsForGuildAdmins). AddField(forAdmins+" 2", commandsForGuildAdmins2). MessageEmbed) } -func (s *Session) handleAuthorCommand(m *discordgo.MessageCreate) { +func (s *Session) handleAuthorCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { s.SendMessage(m.ChannelID, fmt.Sprintf("%s Discord: Kichiyaki#2064 | https://dawid-wysokinski.pl/#contact.", m.Author.Mention())) } -func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate, args ...string) { +func (s *Session) handleTribeCommand(ctx *commandCtx, m *discordgo.MessageCreate, args ...string) { argsLength := len(args) if argsLength < 3 { return diff --git a/message/translations/active.en.json b/message/translations/active.en.json index 1a68f1f..9b1136f 100644 --- a/message/translations/active.en.json +++ b/message/translations/active.en.json @@ -2,7 +2,7 @@ "help.title": "Help", "help.description": "Commands offered by the bot.", "help.footer": "", - "help.forAllUsers": "For all members", + "help.forAllUsers": "For everyone", "help.forAdmins": "For admins", "help.tribe.topoda": "**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by ODA.", "help.tribe.topodd": "**{{.Command}}** [server] [page] [id1] [id2] [id3] [n id] - generates a player list from selected tribes ordered by ODD.",