From 7326b9e10dc117654c2646d4765ad8b6298e003f Mon Sep 17 00:00:00 2001 From: ValdikSS Date: Sat, 5 Jan 2019 17:42:36 +0300 Subject: Add various sshchat fixes (#675) * SSH-Chat: set quiet mode to filter joins/quits * SSH-Chat: Trim newlines in the end of relayed messages * SSH-Chat: fix media links * SSH-Chat: do not relay "Rate limiting is in effect" message --- bridge/sshchat/sshchat.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'bridge') diff --git a/bridge/sshchat/sshchat.go b/bridge/sshchat/sshchat.go index ca427a81..5a8029cf 100644 --- a/bridge/sshchat/sshchat.go +++ b/bridge/sshchat/sshchat.go @@ -33,7 +33,7 @@ func (b *Bsshchat) Connect() error { b.r = bufio.NewScanner(r) b.r.Scan() b.w = w - if _, err := b.w.Write([]byte("/theme mono\r\n")); err != nil { + if _, err := b.w.Write([]byte("/theme mono\r\n/quiet\r\n")); err != nil { return err } close(connSignal) // Connection is established so we can signal the success. @@ -128,6 +128,9 @@ func (b *Bsshchat) handleSSHChat() error { if !strings.Contains(b.r.Text(), "\033[K") { continue } + if strings.Contains(b.r.Text(), "Rate limiting is in effect") { + continue + } res := strings.Split(stripPrompt(b.r.Text()), ":") if res[0] == "-> Set theme" { wait = false @@ -136,7 +139,7 @@ func (b *Bsshchat) handleSSHChat() error { } if !wait { b.Log.Debugf("<= Message %#v", res) - rmsg := config.Message{Username: res[0], Text: strings.Join(res[1:], ":"), Channel: "sshchat", Account: b.Account, UserID: "nick"} + rmsg := config.Message{Username: res[0], Text: strings.TrimSpace(strings.Join(res[1:], ":")), Channel: "sshchat", Account: b.Account, UserID: "nick"} b.Remote <- rmsg } } @@ -155,7 +158,7 @@ func (b *Bsshchat) handleUploadFile(msg *config.Message) (string, error) { msg.Text = fi.Comment + ": " + fi.URL } } - if _, err := b.w.Write([]byte(msg.Username + msg.Text)); err != nil { + if _, err := b.w.Write([]byte(msg.Username + msg.Text + "\r\n")); err != nil { b.Log.Errorf("Could not send file message: %#v", err) } } -- cgit v1.2.3