fix: don't clear messageID on transient discord errors (prevents spam)

This commit is contained in:
Niko Marmeladkov 2026-07-18 12:24:03 +03:00
parent e3ad2224da
commit 13e1ee2183
Signed by: Niko
GPG key ID: E3B955F9442D44E3

View file

@ -19,6 +19,7 @@ type StatusMonitor struct {
interval time.Duration
messageID string
onlineSince time.Time
editFailCount int
}
func NewStatusMonitor(s *discordgo.Session, cfg *Config) *StatusMonitor {
@ -139,8 +140,15 @@ func (m *StatusMonitor) updateStatus() {
Embeds: &[]*discordgo.MessageEmbed{embed},
})
if err != nil {
log.Printf("Error editing embed (will create new): %v", err)
m.editFailCount++
log.Printf("Error editing embed (attempt %d): %v", m.editFailCount, err)
if m.editFailCount > 10 {
log.Printf("Message may have been deleted, will create new one")
m.messageID = ""
m.editFailCount = 0
}
} else {
m.editFailCount = 0
}
}
@ -151,5 +159,6 @@ func (m *StatusMonitor) updateStatus() {
return
}
m.messageID = msg.ID
m.editFailCount = 0
}
}