dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 571376bc53a9c210b686de892e9ff9723abb80e3
parent 0eba703ff5f28aa775cba1b06e22f13382c3c69d
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue, 17 Sep 2024 16:53:30 -0700

improve spam filters

Diffstat:
Mpkg/web/handlers/interceptors/spamInterceptor.go | 20+++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/pkg/web/handlers/interceptors/spamInterceptor.go b/pkg/web/handlers/interceptors/spamInterceptor.go @@ -58,18 +58,16 @@ func checkDynamicFilters(c *command.Command, lowerCaseMessage string, silentSelf isMatch := (f.IsRegex && f.Rgx.MatchString(c.Message)) || (!f.IsRegex && strings.Contains(lowerCaseMessage, f.Term)) if isMatch { - if f.Hb { - if f.NbMsg == 0 || c.AuthUser.GeneralMessagesCount <= f.NbMsg { - dutils.SelfHellBan(c.DB, c.AuthUser) - return ErrSilent - } + nbMsgCond := f.NbMsg == 0 || c.AuthUser.GeneralMessagesCount <= f.NbMsg + if f.Hb && nbMsgCond { + dutils.SelfHellBan(c.DB, c.AuthUser) + return ErrSilent + } else if f.Kick && nbMsgCond { + _ = dutils.SelfKick(c.DB, *c.AuthUser, silentSelfKick) + return ErrSpamFilterTriggered + } else if nbMsgCond { + return ErrSpamFilterTriggered } - if f.Kick { - if f.NbMsg == 0 || c.AuthUser.GeneralMessagesCount <= f.NbMsg { - _ = dutils.SelfKick(c.DB, *c.AuthUser, silentSelfKick) - } - } - return ErrSpamFilterTriggered } } return nil