From 46ca525308c199ea91cd4483733b7ef0919835bc Mon Sep 17 00:00:00 2001 From: Fl_GUI Date: Mon, 24 Jun 2024 17:39:28 +0200 Subject: [PATCH] panic on bad pingpong, and append when recording chat --- twitch/core/pingpong.go | 7 ++++++- x/rechat/main.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/twitch/core/pingpong.go b/twitch/core/pingpong.go index 6fbd5a6..68e4265 100644 --- a/twitch/core/pingpong.go +++ b/twitch/core/pingpong.go @@ -1,6 +1,7 @@ package core import ( + "errors" "fmt" "time" @@ -14,7 +15,10 @@ func (c *Conn) PingPong(msgs <-chan messages.Message) <-chan messages.Message { var pingMessage string // send ping go func() { - for _ = range time.Tick(time.Minute * 4) { + for _ = range time.Tick(time.Minute * 2) { + if pingMessage != "" { + panic(errors.New("Ping message ignored by twitch.")) + } pingMessage = randomString(10, AlphaNum) c.WriteMessage(messages.Ping(pingMessage)) } @@ -30,6 +34,7 @@ func (c *Conn) PingPong(msgs <-chan messages.Message) <-chan messages.Message { if pongText != pingMessage { fmt.Fprintf(DebugLogger, "Error: send PING %s but received a PONG %s\n", pingMessage, pongText) } + pingMessage = "" } else { res <- msg } diff --git a/x/rechat/main.go b/x/rechat/main.go index d522e13..7e4b068 100644 --- a/x/rechat/main.go +++ b/x/rechat/main.go @@ -21,7 +21,7 @@ func openFile() (io.WriteCloser, error) { if fileName == "" { return os.Stdout, nil } - return os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, fs.ModePerm) + return os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE|os.O_APPEND, fs.ModePerm) } func openChat() (conn *core.Conn, msgs <-chan messages.Message, err error) { -- 2.47.1