diff --git a/bot/bot.go b/bot/bot.go index 402a391..d09fdf1 100644 --- a/bot/bot.go +++ b/bot/bot.go @@ -102,12 +102,12 @@ func (b *Bot) Send(ctx context.Context, from, to, subject, plaintext, html strin } var text strings.Builder - if !utils.Bool(settings.Get("nosender")) { + if !settings.NoSender() { text.WriteString("From: ") text.WriteString(from) text.WriteString("\n\n") } - if !utils.Bool(settings.Get("nosubject")) { + if !settings.NoSubject() { text.WriteString("# ") text.WriteString(subject) text.WriteString("\n\n") diff --git a/bot/data.go b/bot/data.go index 3b83a08..995a090 100644 --- a/bot/data.go +++ b/bot/data.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/getsentry/sentry-go" + "gitlab.com/etke.cc/postmoogle/utils" "maunium.net/go/mautrix/id" ) @@ -39,7 +40,21 @@ func (s settings) Allowed(noowner bool, userID id.UserID) bool { // Get option func (s settings) Get(key string) string { - return s[strings.ToLower(strings.TrimSpace(key))] + rawValue := s[strings.ToLower(strings.TrimSpace(key))] + + sanitizer, exists := sanitizers[key] + if exists { + return sanitizer(rawValue) + } + return rawValue +} + +func (s settings) NoSender() bool { + return utils.Bool(s.Get("nosender")) +} + +func (s settings) NoSubject() bool { + return utils.Bool(s.Get("nosubject")) } // Set option