From 8ca2081fecc91ec047b835116df595d9a9c12a7b Mon Sep 17 00:00:00 2001 From: uakci Date: Mon, 29 Aug 2022 22:17:27 +0200 Subject: add overflow protection on send --- bot.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/bot.go b/bot.go index ded5317..1d8ca2a 100644 --- a/bot.go +++ b/bot.go @@ -118,8 +118,23 @@ func Respond(dg *discordgo.Session, ms *discordgo.MessageCreate) { Reader: bytes.NewReader(r.Image), }) } + var content string + if len(r.Text) <= 2000 { + content = r.Text + } else { + reader := strings.NewReader(r.Text) + i, offset := 0, 0 + for i < 2000 { + _, size, err := reader.ReadRune() + if err != nil { + break + } + offset, i = offset+size, i+1 + } + content = r.Text[:offset] + } dg.ChannelMessageSendComplex(ms.Message.ChannelID, &discordgo.MessageSend{ - Content: r.Text, + Content: content, Files: files, }) }) -- cgit v1.2.3