decrease embed size limit
This commit is contained in:
parent
88aa66afdf
commit
cf063441f3
|
@ -73,7 +73,7 @@ func (h *handler) loadEnnoblements(servers []string) (map[string]ennoblements, e
|
||||||
lastEnnoblementAt = time.Now().Add(-1 * time.Minute)
|
lastEnnoblementAt = time.Now().Add(-1 * time.Minute)
|
||||||
}
|
}
|
||||||
if mode.Get() == mode.DevelopmentMode {
|
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)
|
m[server] = filterEnnoblements(ennoblements, lastEnnoblementAt)
|
||||||
|
|
|
@ -194,24 +194,29 @@ func (s *Session) SendEmbed(channelID string, message *discordgo.MessageEmbed) e
|
||||||
splittedFields := [][]*discordgo.MessageEmbedField{}
|
splittedFields := [][]*discordgo.MessageEmbedField{}
|
||||||
characters := baseNumberOfCharacters
|
characters := baseNumberOfCharacters
|
||||||
fromIndex := 0
|
fromIndex := 0
|
||||||
|
fieldsLen := len(fields)
|
||||||
for index, field := range 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])
|
splittedFields = append(splittedFields, fields[fromIndex:index+1])
|
||||||
fromIndex = index
|
fromIndex = index
|
||||||
characters = baseNumberOfCharacters
|
characters = baseNumberOfCharacters
|
||||||
}
|
}
|
||||||
characters += len(field.Name)
|
characters += fNameLen
|
||||||
characters += len(field.Value)
|
characters += fValLen
|
||||||
}
|
}
|
||||||
for _, fields := range splittedFields {
|
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
|
end := i + EmbedLimitField
|
||||||
|
|
||||||
if end > len(fields) {
|
if end > fieldsLen {
|
||||||
end = len(fields)
|
end = fieldsLen
|
||||||
}
|
}
|
||||||
message.Fields = fields[i:end]
|
message.Fields = fields[i:end]
|
||||||
if _, err := s.dg.ChannelMessageSendEmbed(channelID, message); err != nil {
|
if _, err := s.dg.ChannelMessageSendEmbed(channelID, message); err != nil {
|
||||||
|
log.Warnln("Couldn't send embed:", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ const (
|
||||||
EmbedLimitFieldName = 256
|
EmbedLimitFieldName = 256
|
||||||
EmbedLimitField = 25
|
EmbedLimitField = 25
|
||||||
EmbedLimitFooter = 2048
|
EmbedLimitFooter = 2048
|
||||||
EmbedLimit = 5500
|
EmbedSizeLimit = 4500
|
||||||
)
|
)
|
||||||
|
|
||||||
type Embed struct {
|
type Embed struct {
|
||||||
|
|
Reference in New Issue