Feedback from review.

This commit is contained in:
gnuxie 2022-03-15 18:05:19 +00:00
parent 575f7b1a96
commit 67342e61ea
2 changed files with 9 additions and 3 deletions

View File

@ -162,7 +162,13 @@ class Module:
async def check_event_for_spam(
self, event: "synapse.events.EventBase"
) -> Union[bool, str]:
return self.antispam.check_event_for_spam(event) or self.message_max_length.check_event_for_spam(event)
if self.antispam.check_event_for_spam(event):
# The event was marked by a banlist rule.
return True
if self.message_max_length.check_event_for_spam(event):
# Message too long.
return True
return False # not spam.
async def user_may_invite(
self, inviter_user_id: str, invitee_user_id: str, room_id: str

View File

@ -30,13 +30,13 @@ class MessageMaxLength(object):
self.remote_servers: bool = config.get("remote_servers", False)
self.api = api
def check_event_for_spam(self, event):
def check_event_for_spam(self, event: "synapse.events.EventBase") -> bool:
if self.threshold is None:
return False # not spam, MessageMaxLength hasn't been configured to do anything.
sender = UserID.from_string(event.get("sender", ""))
# check if the event is from us or we if we are limiting message length from remote servers too.
if sender.domain == self.api.server_name or sender.domain in self.remote_servers:
if sender.domain == self.api.server_name or self.remote_servers:
body = event.get("content", {}).get("body", "")
if len(body) > self.threshold:
room_id = event.get("room_id", "")