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 {