forked from Mirrors/gomuks
hicli/send: add /raw command
This commit is contained in:
parent
4742ca3116
commit
ed45998248
1 changed files with 16 additions and 0 deletions
|
@ -70,6 +70,22 @@ func (h *HiClient) SendMessage(
|
|||
relatesTo *event.RelatesTo,
|
||||
mentions *event.Mentions,
|
||||
) (*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
|
||||
msgType := event.MsgText
|
||||
origText := text
|
||||
|
|
Loading…
Add table
Reference in a new issue