Make HTMLDisable work correct (matrix) (#1716)
This commit is contained in:
parent
9c43eff753
commit
7288f71201
|
@ -48,8 +48,10 @@ type matrixUsername struct {
|
||||||
|
|
||||||
// SubTextMessage represents the new content of the message in edit messages.
|
// SubTextMessage represents the new content of the message in edit messages.
|
||||||
type SubTextMessage struct {
|
type SubTextMessage struct {
|
||||||
MsgType string `json:"msgtype"`
|
MsgType string `json:"msgtype"`
|
||||||
Body string `json:"body"`
|
Body string `json:"body"`
|
||||||
|
FormattedBody string `json:"formatted_body,omitempty"`
|
||||||
|
Format string `json:"format,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// MessageRelation explains how the current message relates to a previous message.
|
// MessageRelation explains how the current message relates to a previous message.
|
||||||
|
@ -151,7 +153,13 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {
|
||||||
m := matrix.TextMessage{
|
m := matrix.TextMessage{
|
||||||
MsgType: "m.emote",
|
MsgType: "m.emote",
|
||||||
Body: username.plain + msg.Text,
|
Body: username.plain + msg.Text,
|
||||||
FormattedBody: username.formatted + msg.Text,
|
FormattedBody: username.formatted + helper.ParseMarkdown(msg.Text),
|
||||||
|
Format: "org.matrix.custom.html",
|
||||||
|
}
|
||||||
|
|
||||||
|
if b.GetBool("HTMLDisable") {
|
||||||
|
m.Format = ""
|
||||||
|
m.FormattedBody = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
msgID := ""
|
msgID := ""
|
||||||
|
@ -214,20 +222,29 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {
|
||||||
|
|
||||||
// Edit message if we have an ID
|
// Edit message if we have an ID
|
||||||
if msg.ID != "" {
|
if msg.ID != "" {
|
||||||
rmsg := EditedMessage{TextMessage: matrix.TextMessage{
|
rmsg := EditedMessage{
|
||||||
Body: username.plain + msg.Text,
|
TextMessage: matrix.TextMessage{
|
||||||
MsgType: "m.text",
|
Body: username.plain + msg.Text,
|
||||||
}}
|
MsgType: "m.text",
|
||||||
if b.GetBool("HTMLDisable") {
|
Format: "org.matrix.custom.html",
|
||||||
rmsg.TextMessage.FormattedBody = username.formatted + "* " + msg.Text
|
FormattedBody: username.formatted + helper.ParseMarkdown(msg.Text),
|
||||||
} else {
|
},
|
||||||
rmsg.Format = "org.matrix.custom.html"
|
|
||||||
rmsg.TextMessage.FormattedBody = username.formatted + "* " + helper.ParseMarkdown(msg.Text)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rmsg.NewContent = SubTextMessage{
|
rmsg.NewContent = SubTextMessage{
|
||||||
Body: rmsg.TextMessage.Body,
|
Body: rmsg.TextMessage.Body,
|
||||||
MsgType: "m.text",
|
FormattedBody: rmsg.TextMessage.FormattedBody,
|
||||||
|
Format: rmsg.TextMessage.Format,
|
||||||
|
MsgType: "m.text",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if b.GetBool("HTMLDisable") {
|
||||||
|
rmsg.TextMessage.Format = ""
|
||||||
|
rmsg.TextMessage.FormattedBody = ""
|
||||||
|
rmsg.NewContent.Format = ""
|
||||||
|
rmsg.NewContent.FormattedBody = ""
|
||||||
|
}
|
||||||
|
|
||||||
rmsg.RelatedTo = MessageRelation{
|
rmsg.RelatedTo = MessageRelation{
|
||||||
EventID: msg.ID,
|
EventID: msg.ID,
|
||||||
Type: "m.replace",
|
Type: "m.replace",
|
||||||
|
@ -251,6 +268,50 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {
|
||||||
MsgType: "m.notice",
|
MsgType: "m.notice",
|
||||||
Body: username.plain + msg.Text,
|
Body: username.plain + msg.Text,
|
||||||
FormattedBody: username.formatted + msg.Text,
|
FormattedBody: username.formatted + msg.Text,
|
||||||
|
Format: "org.matrix.custom.html",
|
||||||
|
}
|
||||||
|
|
||||||
|
if b.GetBool("HTMLDisable") {
|
||||||
|
m.Format = ""
|
||||||
|
m.FormattedBody = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
resp *matrix.RespSendEvent
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
|
||||||
|
err = b.retry(func() error {
|
||||||
|
resp, err = b.mc.SendMessageEvent(channel, "m.room.message", m)
|
||||||
|
|
||||||
|
return err
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
return resp.EventID, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if msg.ParentValid() {
|
||||||
|
m := ReplyMessage{
|
||||||
|
TextMessage: matrix.TextMessage{
|
||||||
|
MsgType: "m.text",
|
||||||
|
Body: username.plain + msg.Text,
|
||||||
|
FormattedBody: username.formatted + helper.ParseMarkdown(msg.Text),
|
||||||
|
Format: "org.matrix.custom.html",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if b.GetBool("HTMLDisable") {
|
||||||
|
m.TextMessage.Format = ""
|
||||||
|
m.TextMessage.FormattedBody = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
m.RelatedTo = InReplyToRelation{
|
||||||
|
InReplyTo: InReplyToRelationContent{
|
||||||
|
EventID: msg.ParentID,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -288,38 +349,6 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {
|
||||||
return resp.EventID, err
|
return resp.EventID, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if msg.ParentValid() {
|
|
||||||
m := ReplyMessage{
|
|
||||||
TextMessage: matrix.TextMessage{
|
|
||||||
MsgType: "m.text",
|
|
||||||
Body: username.plain + msg.Text,
|
|
||||||
FormattedBody: username.formatted + helper.ParseMarkdown(msg.Text),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
m.RelatedTo = InReplyToRelation{
|
|
||||||
InReplyTo: InReplyToRelationContent{
|
|
||||||
EventID: msg.ParentID,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
resp *matrix.RespSendEvent
|
|
||||||
err error
|
|
||||||
)
|
|
||||||
|
|
||||||
err = b.retry(func() error {
|
|
||||||
resp, err = b.mc.SendMessageEvent(channel, "m.room.message", m)
|
|
||||||
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp.EventID, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Post normal message with HTML support (eg riot.im)
|
// Post normal message with HTML support (eg riot.im)
|
||||||
var (
|
var (
|
||||||
resp *matrix.RespSendEvent
|
resp *matrix.RespSendEvent
|
||||||
|
|
Loading…
Reference in New Issue