decrease embed size limit

This commit is contained in:
Dawid Wysokiński 2020-11-04 20:48:52 +01:00
parent 88aa66afdf
commit cf063441f3
3 changed files with 13 additions and 8 deletions

View File

@ -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)

View File

@ -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
}
}

View File

@ -15,7 +15,7 @@ const (
EmbedLimitFieldName = 256
EmbedLimitField = 25
EmbedLimitFooter = 2048
EmbedLimit = 5500
EmbedSizeLimit = 4500
)
type Embed struct {