natsim

NATS ↔ Instant Messaging Bridge
git clone https://git.instinctive.eu/natsim.git
Log | Files | Refs | README | LICENSE

commit e949a12df2d45237d9374bcf1c3c905c2437022c
parent 7df70cd40d68fbc41ac7c01cc14f1d407fe2153e
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Fri,  4 Jul 2025 21:41:02 +0000

Status command
Diffstat:
Mmain.go | 24++++++++++++++++++++++++
1 file changed, 24 insertions(+), 0 deletions(-)

diff --git a/main.go b/main.go @@ -307,6 +307,30 @@ func (natsim *NatsIM) doCommands() { WriteFilter(&buf, "\n I", natsim.Irc.Filter) natsim.ircSend(buf.String()) + case "status": + var buf strings.Builder + + if err := natsim.nc.LastError(); err != nil { + buf.WriteString("Last error: ") + buf.WriteString(err.Error()) + buf.WriteString("\n") + } + + buf.WriteString(natsim.nc.Status().String()) + + if url := natsim.nc.ConnectedUrlRedacted(); url != "" { + buf.WriteString(" to ") + buf.WriteString(url) + } + + if rtt, err := natsim.nc.RTT(); err == nil { + buf.WriteString(", RTT ") + buf.WriteString(rtt.String()) + } + + buf.WriteString(fmt.Sprintf(", %d subscriptions", natsim.nc.NumSubscriptions())) + natsim.ircSend(buf.String()) + case "subscribe": if s, err := natsim.nc.Subscribe(cmd.arg, natsim.natsReceive); err != nil { natsim.ircSendError("Subscribe", err)