From cf063441f3a71d28ba144778ebf8c51f88d72275 Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Wed, 4 Nov 2020 20:48:52 +0100 Subject: [PATCH] decrease embed size limit --- cron/handler.go | 2 +- discord/discord.go | 17 +++++++++++------ discord/embed.go | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cron/handler.go b/cron/handler.go index 385e239..1a6708a 100644 --- a/cron/handler.go +++ b/cron/handler.go @@ -73,7 +73,7 @@ func (h *handler) loadEnnoblements(servers []string) (map[string]ennoblements, e lastEnnoblementAt = time.Now().Add(-1 * time.Minute) } if mode.Get() == mode.DevelopmentMode { - lastEnnoblementAt = time.Now().Add(-60 * time.Minute) + lastEnnoblementAt = time.Now().Add(-60 * time.Minute * 23) } m[server] = filterEnnoblements(ennoblements, lastEnnoblementAt) diff --git a/discord/discord.go b/discord/discord.go index d7442af..ea7f8ff 100644 --- a/discord/discord.go +++ b/discord/discord.go @@ -194,24 +194,29 @@ func (s *Session) SendEmbed(channelID string, message *discordgo.MessageEmbed) e splittedFields := [][]*discordgo.MessageEmbedField{} characters := baseNumberOfCharacters fromIndex := 0 + fieldsLen := len(fields) for index, field := range fields { - if characters+len(field.Name)+len(field.Value) > EmbedLimit || index == len(fields)-1 { + fNameLen := len(field.Name) + fValLen := len(field.Value) + if characters+fNameLen+fValLen > EmbedSizeLimit || index == fieldsLen-1 { splittedFields = append(splittedFields, fields[fromIndex:index+1]) fromIndex = index characters = baseNumberOfCharacters } - characters += len(field.Name) - characters += len(field.Value) + characters += fNameLen + characters += fValLen } for _, fields := range splittedFields { - for i := 0; i < len(fields); i += EmbedLimitField { + fieldsLen := len(fields) + for i := 0; i < fieldsLen; i += EmbedLimitField { end := i + EmbedLimitField - if end > len(fields) { - end = len(fields) + if end > fieldsLen { + end = fieldsLen } message.Fields = fields[i:end] if _, err := s.dg.ChannelMessageSendEmbed(channelID, message); err != nil { + log.Warnln("Couldn't send embed:", err) return err } } diff --git a/discord/embed.go b/discord/embed.go index 590423e..dfadf97 100644 --- a/discord/embed.go +++ b/discord/embed.go @@ -15,7 +15,7 @@ const ( EmbedLimitFieldName = 256 EmbedLimitField = 25 EmbedLimitFooter = 2048 - EmbedLimit = 5500 + EmbedSizeLimit = 4500 ) type Embed struct {