From a5edaaea785344fb027b22d2b365180d6465bd8c Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 21 Nov 2022 10:50:06 +0200 Subject: [PATCH] respect nosend in thread replies, respect nohtml in !pm send and thread replies (on sending) --- bot/command.go | 7 ++++++- bot/email.go | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bot/command.go b/bot/command.go index 7a763c3..dc4af3d 100644 --- a/bot/command.go +++ b/bot/command.go @@ -388,6 +388,7 @@ func (b *Bot) sendHelp(ctx context.Context) { b.SendNotice(ctx, evt.RoomID, msg.String()) } +//nolint:gocognit // TODO func (b *Bot) runSend(ctx context.Context) { evt := eventFromContext(ctx) if !b.allowSend(evt.Sender, evt.RoomID) { @@ -408,7 +409,6 @@ func (b *Bot) runSend(ctx context.Context) { b.prefix)) return } - htmlBody := format.RenderMarkdown(body, true, true).FormattedBody cfg, err := b.getRoomSettings(evt.RoomID) if err != nil { @@ -422,6 +422,11 @@ func (b *Bot) runSend(ctx context.Context) { return } + var htmlBody string + if !cfg.NoHTML() { + htmlBody = format.RenderMarkdown(body, true, true).FormattedBody + } + tos := strings.Split(to, ",") // validate first for _, to := range tos { diff --git a/bot/email.go b/bot/email.go index cd84823..b35ac26 100644 --- a/bot/email.go +++ b/bot/email.go @@ -140,6 +140,9 @@ func (b *Bot) IncomingEmail(ctx context.Context, email *email.Email) error { // SendEmailReply sends replies from matrix thread to email thread func (b *Bot) SendEmailReply(ctx context.Context) { evt := eventFromContext(ctx) + if !b.allowSend(evt.Sender, evt.RoomID) { + return + } cfg, err := b.getRoomSettings(evt.RoomID) if err != nil { b.Error(ctx, evt.RoomID, "cannot retrieve room settings: %v", err) @@ -169,7 +172,10 @@ func (b *Bot) SendEmailReply(ctx context.Context) { meta.Subject = strings.SplitN(content.Body, "\n", 1)[0] } body := content.Body - htmlBody := content.FormattedBody + var htmlBody string + if !cfg.NoHTML() { + htmlBody = content.FormattedBody + } meta.MessageID = email.MessageID(evt.ID, meta.FromDomain) meta.References = meta.References + " " + meta.MessageID