add IGNORE_DOMAIN_BAN

pull/147/head
Aevann 2023-05-07 21:06:08 +03:00
parent 6bbe51e881
commit 592b4374a6
3 changed files with 16 additions and 14 deletions

View File

@ -501,7 +501,7 @@ PERMS = { # Minimum admin_level to perform action.
'MODS_EVERY_HOLE': 5,
'MODS_EVERY_GROUP': 5,
'IGNORE_AWARD_IMMUNITY': 5,
'GROOMING': 5,
'IGNORE_DOMAIN_BAN': 5,
}
FEATURES = {

View File

@ -539,14 +539,15 @@ def sanitize(sanitized, golden=True, limit_pings=0, showmore=True, count_emojis=
else:
abort(403, error)
banned_domains = g.db.query(BannedDomain).all()
for x in banned_domains:
for y in domain_list:
if y.startswith(x.domain):
return error(f'Remove the banned link "{x.domain}" and try again!\nReason for link ban: "{x.reason}"')
if not (g.v and g.v.admin_level >= PERMS["IGNORE_DOMAIN_BAN"]):
banned_domains = g.db.query(BannedDomain).all()
for x in banned_domains:
for y in domain_list:
if y.startswith(x.domain):
return error(f'Remove the banned link "{x.domain}" and try again!\nReason for link ban: "{x.reason}"')
if discord_username_regex.match(sanitized) and not (g.v and g.v.admin_level >= PERMS["GROOMING"]):
return error("Stop grooming!")
if discord_username_regex.match(sanitized):
return error("Stop grooming!")
if '<pre>' not in sanitized and blackjack != "rules":
sanitized = sanitized.replace('\n','')

View File

@ -529,12 +529,13 @@ def submit_post(v:User, sub=None):
if repost and FEATURES['REPOST_DETECTION'] and not v.admin_level >= PERMS['POST_BYPASS_REPOST_CHECKING']:
return {"post_id": repost.id, "success": False}
y = tldextract.extract(url).registered_domain + parsed_url.path
y = y.lower()
banned_domains = g.db.query(BannedDomain).all()
for x in banned_domains:
if y.startswith(x.domain):
abort(400, f'Remove the banned link "{x.domain}" and try again!<br>Reason for link ban: "{x.reason}"')
if v.admin_level < PERMS["IGNORE_DOMAIN_BAN"]:
y = tldextract.extract(url).registered_domain + parsed_url.path
y = y.lower()
banned_domains = g.db.query(BannedDomain).all()
for x in banned_domains:
if y.startswith(x.domain):
abort(400, f'Remove the banned link "{x.domain}" and try again!<br>Reason for link ban: "{x.reason}"')
if "twitter.com" == domain:
try: