natsim

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

commit 12ec74aee8a39a0d02113c6763a23f4fa3843d15
parent 3180fa83f2fdea580fa3d734ee981a9efc8b6b46
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Sat, 12 Jul 2025 21:36:28 +0000

Header removal command
Diffstat:
Mmain.go | 23+++++++++++++++++++++++
1 file changed, 23 insertions(+), 0 deletions(-)

diff --git a/main.go b/main.go @@ -282,6 +282,29 @@ func (natsim *NatsIM) doCommands() { natsim.ircSend(sb.String()) + case "delheader": + index := -1 + key := cmd.arg + + if strings.HasPrefix(cmd.arg, "* ") { + key = key[2:] + } else if before, after, found := strings.Cut(cmd.arg, " "); found { + if n, err := strconv.Atoi(before); err == nil { + index = n + key = after + } + } + + if natsim.curMsg.Header == nil || natsim.curMsg.Header[key] == nil { + natsim.ircSendf("No recorded header %q", key) + } else if index < 0 { + delete(natsim.curMsg.Header, key) + } else if index < len(natsim.curMsg.Header[key]) { + natsim.curMsg.Header[key] = append(natsim.curMsg.Header[key][:index], natsim.curMsg.Header[key][index+1:]...) + } else { + natsim.ircSendf("No index %d in header %q", index, key) + } + case "filter": var plist *[]FilterElement var name string