natsim

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

commit 93f1c2b57707503ecd8fdbb0b77cf72db40f1e0b
parent eb16862dc8ee4b436131b65742b0b05da03c625a
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Wed, 25 Jun 2025 18:33:10 +0000

Per-sink filtering
Diffstat:
Mmain.go | 13++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/main.go b/main.go @@ -55,10 +55,6 @@ func main() { } log.Println("natsim " + version + " started") - log.Println("found", len(im.Nats.Filter), "filters") - for i, element := range im.Nats.Filter { - log.Printf(" %d. %s", i+1, element.String()) - } im.irc.Loop() } @@ -84,6 +80,7 @@ type IrcConfig struct { ContSuffix string ContPrefix string AntiFlood antiflood + Filter []FilterElement } type LogConfig struct { @@ -422,7 +419,13 @@ func (natsim *NatsIM) natsReceive(m *nats.Msg) { return } - natsim.logReceived(m) + if IsKept(m.Subject, m.Data, natsim.Log.Filter, true) { + natsim.logReceived(m) + } + + if !IsKept(m.Subject, m.Data, natsim.Irc.Filter, true) { + return + } var sb strings.Builder sb.WriteString(packMark(natsim.Irc.Show, m.Subject, string(m.Data)))