natsim

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

commit 2829fbc9bd8218966e6b1318bbf49ccc18645195
parent 7d245e82552548db38b38be068c3a6cd425e2911
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Sat, 26 Jul 2025 18:32:46 +0000

Encoded data input commands
Diffstat:
Mmain.go | 16++++++++++++++++
1 file changed, 16 insertions(+), 0 deletions(-)

diff --git a/main.go b/main.go @@ -19,6 +19,8 @@ package main import ( "database/sql" "embed" + "encoding/base64" + "encoding/hex" "errors" "fmt" "log" @@ -298,6 +300,13 @@ func (natsim *NatsIM) doCommands() { natsim.ircSendf("Unknown autoclear option %q", cmd.arg) } + case "b64data": + if decoded, err := base64.StdEncoding.DecodeString(cmd.arg); err != nil { + natsim.ircSendError("b64Decode", err) + } else { + natsim.curMsg.Data = append(natsim.curMsg.Data, []byte(decoded)...) + } + case "blockcmd": updateNickList(cmd.arg, &natsim.Irc.BlockCmd, &natsim.Irc.AllowCmd) natsim.ircSendf("%s - %s", strNickList(natsim.Irc.BlockCmd), strNickList(natsim.Irc.AllowCmd)) @@ -430,6 +439,13 @@ func (natsim *NatsIM) doCommands() { WriteFilter(&buf, "\n I", natsim.Irc.Filter) natsim.ircSend(buf.String()) + case "hdata": + if decoded, err := hex.DecodeString(cmd.arg); err != nil { + natsim.ircSendError("hexDecode", err) + } else { + natsim.curMsg.Data = append(natsim.curMsg.Data, []byte(decoded)...) + } + case "header": sep := ": " if natsim.Irc.ShowHeader != nil {