diff --git a/bridge/irc/irc.go b/bridge/irc/irc.go index ee29ee2b..5b238da5 100644 --- a/bridge/irc/irc.go +++ b/bridge/irc/irc.go @@ -196,8 +196,8 @@ func (b *Birc) Send(msg config.Message) (string, error) { } for _, text := range strings.Split(msg.Text, "\n") { if len(text) > b.Config.MessageLength { - for len(text)+len(" ") > b.Config.MessageLength { - _, size := utf8.DecodeLastRuneInString(text) + text = text[:b.Config.MessageLength-len(" ")] + if r, size := utf8.DecodeLastRuneInString(text); r == utf8.RuneError { text = text[:len(text)-size] } text += " "