Matrix: Notifications

This commit is contained in:
Harvey Tindall
2021-05-29 21:05:12 +01:00
parent 9bd6abadf4
commit 89fb3fa619
2 changed files with 78 additions and 2 deletions
+8 -1
View File
@@ -25,6 +25,8 @@ import (
"github.com/mailgun/mailgun-go/v4"
)
var renderer = html.NewRenderer(html.RendererOptions{Flags: html.Smartypants})
// implements email sending, right now via smtp or mailgun.
type EmailClient interface {
Send(fromName, fromAddr string, message *Message, address ...string) error
@@ -337,7 +339,6 @@ func (emailer *Emailer) constructConfirmation(code, username, key string, app *a
func (emailer *Emailer) constructTemplate(subject, md string, app *appContext) (*Message, error) {
email := &Message{Subject: subject}
renderer := html.NewRenderer(html.RendererOptions{Flags: html.Smartypants})
html := markdown.ToHTML([]byte(md), nil, renderer)
text := stripMarkdown(md)
message := app.config.Section("messages").Key("message").String()
@@ -817,6 +818,12 @@ func (app *appContext) sendByID(email *Message, ID ...string) error {
return err
}
}
if mxChat, ok := app.storage.matrix[id]; ok && mxChat.Contact && matrixEnabled {
err = app.matrix.Send(email, mxChat.RoomID)
if err != nil {
return err
}
}
if address, ok := app.storage.emails[id]; ok && address.Contact && emailEnabled {
err = app.email.send(email, address.Addr)
if err != nil {