natsim

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

commit 3a1f8232b698e3e789656c1b12818cadb80c4f67
parent 024fc9f311a51cf40b77d1b199b5e14919e0cfb4
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Sat, 19 Jul 2025 18:51:16 +0000

Unquote message data before sending
Diffstat:
Mmain.go | 9+++++++++
1 file changed, 9 insertions(+), 0 deletions(-)

diff --git a/main.go b/main.go @@ -604,8 +604,17 @@ func (natsim *NatsIM) ircReceive(e *irc.Event) { } } else if subject, data, found := unpackMark(natsim.Irc.Send, msg, false); found { if nickAllowed(e.Nick, natsim.Irc.AllowCmd, natsim.Irc.BlockCmd) { + if len(data) >= 2 && data[0] == data[len(data)-1] && (data[0] == '"' || data[0] == '`') { + if unquoted, err := strconv.Unquote(data); err == nil { + data = unquoted + } + } else if unquoted, err := strconv.Unquote("\"" + data + "\""); err == nil { + data = unquoted + } + natsim.curMsg.Subject = subject natsim.curMsg.Data = []byte(data) + if err := natsim.nc.PublishMsg(&natsim.curMsg); err != nil { natsim.ircSendError("Publish", err) } else {