commit 207ccc4eef04f93a987562ad2b3b9af59dad161f
parent 12ec74aee8a39a0d02113c6763a23f4fa3843d15
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date: Sun, 13 Jul 2025 20:37:01 +0000
Commands to craft and publish a message
Diffstat:
1 file changed, 19 insertions(+), 0 deletions(-)
diff --git a/main.go b/main.go
@@ -259,6 +259,9 @@ func (natsim *NatsIM) doCommands() {
case "curmsg":
var sb strings.Builder
sb.WriteString("[WIP]")
+ sb.WriteString(packMark(natsim.Irc.Show,
+ natsim.curMsg.Subject,
+ string(natsim.curMsg.Data)))
if natsim.curMsg.Reply != "" {
show := LineMark{Start: "Reply-To:"}
@@ -305,6 +308,9 @@ func (natsim *NatsIM) doCommands() {
natsim.ircSendf("No index %d in header %q", index, key)
}
+ case "data":
+ natsim.curMsg.Data = []byte(cmd.arg)
+
case "filter":
var plist *[]FilterElement
var name string
@@ -387,6 +393,16 @@ func (natsim *NatsIM) doCommands() {
case "replyto":
natsim.curMsg.Reply = cmd.arg
+ case "send":
+ if natsim.curMsg.Subject == "" {
+ natsim.ircSend("Cannot send message without subject")
+ } else if err := natsim.nc.PublishMsg(&natsim.curMsg); err != nil {
+ natsim.ircSendError("Publish", err)
+ } else {
+ natsim.logSent(&natsim.curMsg)
+ }
+ natsim.curMsg = nats.Msg{}
+
case "status":
var buf strings.Builder
@@ -411,6 +427,9 @@ func (natsim *NatsIM) doCommands() {
buf.WriteString(fmt.Sprintf(", %d subscriptions\n%s", natsim.nc.NumSubscriptions(), natsim.natsStats()))
natsim.ircSend(buf.String())
+ case "subject":
+ natsim.curMsg.Subject = cmd.arg
+
case "subscribe":
if s, err := natsim.nc.Subscribe(cmd.arg, natsim.natsReceive); err != nil {
natsim.ircSendError("Subscribe", err)