move message IDs to constants (tribe command)

This commit is contained in:
Dawid Wysokiński 2020-10-14 06:06:15 +02:00
parent 5bd650a83f
commit 4060fb5b60
3 changed files with 61 additions and 45 deletions

View File

@ -63,8 +63,8 @@ func (s *Session) handleAddGroupCommand(ctx commandCtx, m *discordgo.MessageCrea
if err := s.cfg.GroupRepository.Store(context.Background(), group); err != nil { if err := s.cfg.GroupRepository.Store(context.Background(), group); err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -588,8 +588,8 @@ func (s *Session) handleObserveCommand(ctx commandCtx, m *discordgo.MessageCreat
if err != nil { if err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -740,8 +740,8 @@ func (s *Session) handleObservationsCommand(ctx commandCtx, m *discordgo.Message
if err != nil { if err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -773,8 +773,8 @@ func (s *Session) handleObservationsCommand(ctx commandCtx, m *discordgo.Message
if err != nil { if err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -879,8 +879,8 @@ func (s *Session) handleShowEnnobledBarbariansCommand(ctx commandCtx, m *discord
if err := s.cfg.GroupRepository.Update(context.Background(), group); err != nil { if err := s.cfg.GroupRepository.Update(context.Background(), group); err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -960,8 +960,8 @@ func (s *Session) handleChangeLanguageCommand(ctx commandCtx, m *discordgo.Messa
if err := s.cfg.ServerRepository.Update(context.Background(), ctx.server); err != nil { if err := s.cfg.ServerRepository.Update(context.Background(), ctx.server); err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -1035,8 +1035,8 @@ func (s *Session) handleShowInternalsCommand(ctx commandCtx, m *discordgo.Messag
if err := s.cfg.GroupRepository.Update(context.Background(), group); err != nil { if err := s.cfg.GroupRepository.Update(context.Background(), group); err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),

View File

@ -282,8 +282,8 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
page, err := strconv.Atoi(args[2]) page, err := strconv.Atoi(args[2])
if err != nil || page <= 0 { if err != nil || page <= 0 {
s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.invalidPage", MessageID: message.TribeInvalidPage,
DefaultMessage: message.FallbackMsg("tribe.invalidPage", "{{.Mention}} The page must be a number greater than 0."), DefaultMessage: message.FallbackMsg(message.TribeInvalidPage, "{{.Mention}} The page must be a number greater than 0."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
}, },
@ -300,8 +300,8 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
} }
if len(ids) == 0 { if len(ids) == 0 {
s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.noTribeID", MessageID: message.TribeNoTribeID,
DefaultMessage: message.FallbackMsg("tribe.noTribeID", "{{.Mention}} You haven't entered the tribe ID."), DefaultMessage: message.FallbackMsg(message.TribeNoTribeID, "{{.Mention}} You haven't entered the tribe ID."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
}, },
@ -324,48 +324,48 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
filter.RankAttGTE = 1 filter.RankAttGTE = 1
filter.Sort = "rankAtt ASC" filter.Sort = "rankAtt ASC"
title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.title.orderedByODA", MessageID: message.TribeTitleOrderedByODA,
DefaultMessage: message.FallbackMsg("tribe.title.orderedByODA", "Ordered by ODA"), DefaultMessage: message.FallbackMsg(message.TribeTitleOrderedByODA, "Ordered by ODA"),
}) })
case TopODDCommand: case TopODDCommand:
filter.RankDefGTE = 1 filter.RankDefGTE = 1
filter.Sort = "rankDef ASC" filter.Sort = "rankDef ASC"
title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.title.orderedByODD", MessageID: message.TribeTitleOrderedByODD,
DefaultMessage: message.FallbackMsg("tribe.title.orderedByODD", "Ordered by ODD"), DefaultMessage: message.FallbackMsg(message.TribeTitleOrderedByODD, "Ordered by ODD"),
}) })
case TopODSCommand: case TopODSCommand:
filter.RankSupGTE = 1 filter.RankSupGTE = 1
filter.Sort = "rankSup ASC" filter.Sort = "rankSup ASC"
title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.title.orderedByODS", MessageID: message.TribeTitleOrderedByODS,
DefaultMessage: message.FallbackMsg("tribe.title.orderedByODS", "Ordered by ODS"), DefaultMessage: message.FallbackMsg(message.TribeTitleOrderedByODS, "Ordered by ODS"),
}) })
case TopODCommand: case TopODCommand:
filter.RankTotalGTE = 1 filter.RankTotalGTE = 1
filter.Sort = "rankTotal ASC" filter.Sort = "rankTotal ASC"
title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.title.orderedByOD", MessageID: message.TribeTitleOrderedByOD,
DefaultMessage: message.FallbackMsg("tribe.title.orderedByOD", "Ordered by OD"), DefaultMessage: message.FallbackMsg(message.TribeTitleOrderedByOD, "Ordered by OD"),
}) })
case TopPointsCommand: case TopPointsCommand:
filter.Sort = "rank ASC" filter.Sort = "rank ASC"
title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ title = ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.title.orderedByPoints", MessageID: message.TribeTitleOrderedByPoints,
DefaultMessage: message.FallbackMsg("tribe.title.orderedByPoints", "Ordered by points"), DefaultMessage: message.FallbackMsg(message.TribeTitleOrderedByPoints, "Ordered by points"),
}) })
default: default:
return return
} }
playersList, err := s.cfg.API.Players.Browse(world, filter, &sdk.PlayerInclude{ playerList, err := s.cfg.API.Players.Browse(world, filter, &sdk.PlayerInclude{
Tribe: true, Tribe: true,
}) })
if err != nil { if err != nil {
s.SendMessage(m.ChannelID, s.SendMessage(m.ChannelID,
ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "api.defaultError", MessageID: message.ApiDefaultError,
DefaultMessage: message.FallbackMsg("api.defaultError", DefaultMessage: message.FallbackMsg(message.ApiDefaultError,
"{{.Mention}} There was an error fetching data from the API, please try again later."), "{{.Mention}} There was an error fetching data from the API, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -373,22 +373,21 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
})) }))
return return
} }
if playersList == nil || playersList.Total == 0 { if playerList == nil || playerList.Total == 0 {
s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.tribesNotFound", MessageID: message.TribeTribesNotFound,
DefaultMessage: message.FallbackMsg("tribe.tribesNotFound", DefaultMessage: message.FallbackMsg(message.TribeTribesNotFound, "{{.Mention}} Tribes not found."),
"{{.Mention}} There was an error fetching data from the API, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
}, },
})) }))
return return
} }
totalPages := int(math.Ceil(float64(playersList.Total) / float64(limit))) totalPages := int(math.Ceil(float64(playerList.Total) / float64(limit)))
if page > totalPages { if page > totalPages {
s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.exceededMaximumNumberOfPages", MessageID: message.TribeExceededMaximumNumberOfPages,
DefaultMessage: message.FallbackMsg("tribe.exceededMaximumNumberOfPages", DefaultMessage: message.FallbackMsg(message.TribeExceededMaximumNumberOfPages,
"{{.Mention}} You have exceeded the maximum number of pages ({{.Page}}/{{.MaxPage}})."), "{{.Mention}} You have exceeded the maximum number of pages ({{.Page}}/{{.MaxPage}})."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -403,8 +402,8 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
langVersion, err := s.cfg.API.LangVersions.Read(langTag) langVersion, err := s.cfg.API.LangVersions.Read(langTag)
if err != nil || langVersion == nil { if err != nil || langVersion == nil {
s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ s.SendMessage(m.ChannelID, ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "internalServerError", MessageID: message.InternalServerError,
DefaultMessage: message.FallbackMsg("internalServerError", DefaultMessage: message.FallbackMsg(message.InternalServerError,
"{{.Mention}} Internal server error occurred, please try again later."), "{{.Mention}} Internal server error occurred, please try again later."),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Mention": m.Author.Mention(), "Mention": m.Author.Mention(),
@ -414,7 +413,7 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
} }
msg := &EmbedMessage{} msg := &EmbedMessage{}
for i, player := range playersList.Items { for i, player := range playerList.Items {
if player == nil { if player == nil {
continue continue
} }
@ -447,8 +446,8 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
} }
msg.Append(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ msg.Append(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "tribe.messageLine", MessageID: message.TribeMessageLine,
DefaultMessage: message.FallbackMsg("tribe.messageLine", DefaultMessage: message.FallbackMsg(message.TribeMessageLine,
"**{{.Index}}**. [``{{.PlayerName}}``]({{.PlayerURL}}) (Tribe: [``{{.TribeTag}}``]({{.TribeURL}}) | Rank: **{{.Rank}}** | Score: **{{.Score}}**)\n"), "**{{.Index}}**. [``{{.PlayerName}}``]({{.PlayerURL}}) (Tribe: [``{{.TribeTag}}``]({{.TribeURL}}) | Rank: **{{.Rank}}** | Score: **{{.Score}}**)\n"),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Index": offset + i + 1, "Index": offset + i + 1,
@ -466,8 +465,8 @@ func (s *Session) handleTribeCommand(ctx commandCtx, m *discordgo.MessageCreate,
SetTitle(title). SetTitle(title).
SetFields(msg.ToMessageEmbedFields()). SetFields(msg.ToMessageEmbedFields()).
SetFooter(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{ SetFooter(ctx.localizer.MustLocalize(&i18n.LocalizeConfig{
MessageID: "pagination.labelDisplayedPage", MessageID: message.PaginationLabelDisplayedPage,
DefaultMessage: message.FallbackMsg("pagination.labelDisplayedPage", "{{.Page}} of {{.MaxPage}}"), DefaultMessage: message.FallbackMsg(message.PaginationLabelDisplayedPage, "{{.Page}} of {{.MaxPage}}"),
TemplateData: map[string]interface{}{ TemplateData: map[string]interface{}{
"Page": page, "Page": page,
"MaxPage": totalPages, "MaxPage": totalPages,

View File

@ -1,6 +1,12 @@
package message package message
const ( const (
InternalServerError = "internalServerError"
ApiDefaultError = "api.defaultError"
PaginationLabelDisplayedPage = "pagination.labelDisplayedPage"
HelpForAdmins = "help.forAdmins" HelpForAdmins = "help.forAdmins"
HelpTitle = "help.title" HelpTitle = "help.title"
HelpDescription = "help.description" HelpDescription = "help.description"
@ -26,4 +32,15 @@ const (
HelpChangageLanguage = "help.changelanguage" HelpChangageLanguage = "help.changelanguage"
HelpCoordsTranslation = "help.coordstranslation" HelpCoordsTranslation = "help.coordstranslation"
HelpDisableCoordsTranslation = "help.disablecoordstranslation" HelpDisableCoordsTranslation = "help.disablecoordstranslation"
TribeInvalidPage = "tribe.invalidPage"
TribeNoTribeID = "tribe.noTribeID"
TribeTitleOrderedByODA = "tribe.title.orderedByODA"
TribeTitleOrderedByODD = "tribe.title.orderedByODD"
TribeTitleOrderedByODS = "tribe.title.orderedByODS"
TribeTitleOrderedByOD = "tribe.title.orderedByOD"
TribeTitleOrderedByPoints = "tribe.title.orderedByPoints"
TribeTribesNotFound = "tribe.tribesNotFound"
TribeExceededMaximumNumberOfPages = "tribe.exceededMaximumNumberOfPages"
TribeMessageLine = "tribe.messageLine"
) )