From 9b1bf9c2526f9137e4790ef9d9ec0d71fdfd9cc8 Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Sat, 1 Nov 2025 21:01:11 +0100 Subject: [PATCH] use pings to show self speaking --- audio/audio.go | 1 + main.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/audio/audio.go b/audio/audio.go index 933cabd..ea34e50 100644 --- a/audio/audio.go +++ b/audio/audio.go @@ -125,6 +125,7 @@ func (au *Audio) ProcessInput(conn *ircevent.Connection, channel string) error { } str := base64.StdEncoding.EncodeToString(data[:n]) + conn.Send("PING", "SPEAKING") conn.Privmsg(channel, str) } diff --git a/main.go b/main.go index 6d7977e..931544a 100644 --- a/main.go +++ b/main.go @@ -101,6 +101,14 @@ func (m *model) setDeafen(is bool) { } func (m model) Init() tea.Cmd { + m.conn.AddCallback("PONG", func(e ircmsg.Message) { + if e.Params[1] == "SPEAKING" { + u := m.users[m.nick] + u.lastSpoke = time.Now() + m.users[m.nick] = u + } + }) + m.conn.AddCallback("PRIVMSG", func(e ircmsg.Message) { target, message := e.Params[0], e.Params[1] if target != m.channel {