commit 2829fbc9bd8218966e6b1318bbf49ccc18645195
parent 7d245e82552548db38b38be068c3a6cd425e2911
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date: Sat, 26 Jul 2025 18:32:46 +0000
Encoded data input commands
Diffstat:
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 {