1
0
Fork 0
forked from Mirrors/gomuks

hicli/send: add /raw command

This commit is contained in:
Tulir Asokan 2024-11-02 16:27:44 +02:00
parent 4742ca3116
commit ed45998248

View file

@ -70,6 +70,22 @@ func (h *HiClient) SendMessage(
relatesTo *event.RelatesTo, relatesTo *event.RelatesTo,
mentions *event.Mentions, mentions *event.Mentions,
) (*database.Event, error) { ) (*database.Event, error) {
if strings.HasPrefix(text, "/raw ") {
parts := strings.SplitN(text, " ", 3)
if len(parts) < 2 || len(parts[1]) == 0 {
return nil, fmt.Errorf("invalid /raw command")
}
var content json.RawMessage
if len(parts) == 3 {
content = json.RawMessage(parts[2])
} else {
content = json.RawMessage("{}")
}
if !json.Valid(content) {
return nil, fmt.Errorf("invalid JSON in /raw command")
}
return h.send(ctx, roomID, event.Type{Type: parts[1]}, content, "")
}
var content event.MessageEventContent var content event.MessageEventContent
msgType := event.MsgText msgType := event.MsgText
origText := text origText := text