create const.py

remotes/1693045480750635534/spooky-22
atrc445 2021-08-21 13:06:28 +02:00
parent 9affe9ced1
commit 6a36d3c1b5
18 changed files with 155 additions and 91 deletions

View File

@ -257,4 +257,4 @@ def after_request(response):
response.headers.add("Feature-Policy", "geolocation 'none'; midi 'none'; notifications 'none'; push 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; vibrate 'none'; fullscreen 'none'; payment 'none';") response.headers.add("Feature-Policy", "geolocation 'none'; midi 'none'; notifications 'none'; push 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; vibrate 'none'; fullscreen 'none'; payment 'none';")
response.headers.add("X-Frame-Options", "deny") response.headers.add("X-Frame-Options", "deny")
return response return response

View File

@ -4,6 +4,7 @@ from flask import *
from sqlalchemy import * from sqlalchemy import *
from sqlalchemy.orm import relationship, deferred from sqlalchemy.orm import relationship, deferred
from files.helpers.lazy import lazy from files.helpers.lazy import lazy
from files.helpers.const import SLURS
from files.__main__ import Base from files.__main__ import Base
from .mix_ins import * from .mix_ins import *
from .flags import CommentFlag from .flags import CommentFlag
@ -246,7 +247,10 @@ class Comment(Base, Age_times, Scores, Stndrd, Fuzzing):
def realbody(self, v): def realbody(self, v):
body = self.comment_aux.body_html body = self.comment_aux.body_html
if not v or v.slurreplacer: body = body.replace(" nigger"," πŸ€").replace(" Nigger"," πŸ€").replace(" NIGGER"," πŸ€").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," πŸš„").replace(" Tranny"," πŸš„").replace(" TRANNY"," πŸš„").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," πŸš„").replace(" Trannie"," πŸš„").replace(" TRANNIE"," πŸš„").replace(" troon"," πŸš„").replace(" Troon"," πŸš„").replace(" TROON"," πŸš„")
if not v or v.slurreplacer:
for s,r in SLURS.items(): body = body.replace(s, r)
if v and not v.oldreddit: body = body.replace("old.reddit.com", "reddit.com") if v and not v.oldreddit: body = body.replace("old.reddit.com", "reddit.com")
if v and v.controversial: if v and v.controversial:

View File

@ -4,6 +4,7 @@ from sqlalchemy.orm import relationship, deferred
import re, random import re, random
from urllib.parse import urlparse from urllib.parse import urlparse
from files.helpers.lazy import lazy from files.helpers.lazy import lazy
from files.helpers.const import SLURS
from files.__main__ import Base from files.__main__ import Base
from .mix_ins import * from .mix_ins import *
from .flags import * from .flags import *
@ -342,7 +343,11 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
def realbody(self, v): def realbody(self, v):
body = self.submission_aux.body_html body = self.submission_aux.body_html
if not v or v.slurreplacer: body = body.replace(" nigger"," πŸ€").replace(" Nigger"," πŸ€").replace(" NIGGER"," πŸ€").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," πŸš„").replace(" Tranny"," πŸš„").replace(" TRANNY"," πŸš„").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," πŸš„").replace(" Trannie"," πŸš„").replace(" TRANNIE"," πŸš„").replace(" troon"," πŸš„").replace(" Troon"," πŸš„").replace(" TROON"," πŸš„")
if not v or v.slurreplacer:
for s,r in SLURS.items():
body = body.replace(s, r)
if v and not v.oldreddit: body = body.replace("old.reddit.com", "reddit.com") if v and not v.oldreddit: body = body.replace("old.reddit.com", "reddit.com")
return body return body
@ -358,7 +363,10 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
def realtitle(self, v): def realtitle(self, v):
if self.title_html: title = self.title_html if self.title_html: title = self.title_html
else: title = self.title else: title = self.title
if not v or v.slurreplacer: title = title.replace(" nigger"," πŸ€").replace(" Nigger"," πŸ€").replace(" NIGGER"," πŸ€").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," πŸš„").replace(" Tranny"," πŸš„").replace(" TRANNY"," πŸš„").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," πŸš„").replace(" Trannie"," πŸš„").replace(" TRANNIE"," πŸš„").replace(" troon"," πŸš„").replace(" Troon"," πŸš„").replace(" TROON"," πŸš„")
if not v or v.slurreplacer:
for s,r in SLURS.items(): title = title.replace(s, r)
return title return title
@property @property
@ -412,4 +420,4 @@ class SaveRelationship(Base, Stndrd):
id=Column(Integer, primary_key=true) id=Column(Integer, primary_key=true)
user_id=Column(Integer, ForeignKey("users.id")) user_id=Column(Integer, ForeignKey("users.id"))
submission_id=Column(Integer, ForeignKey("submissions.id")) submission_id=Column(Integer, ForeignKey("submissions.id"))
type=Column(Integer) type=Column(Integer)

View File

@ -4,6 +4,7 @@ import pyotp
from files.helpers.discord import delete_role from files.helpers.discord import delete_role
from files.helpers.images import * from files.helpers.images import *
from files.helpers.const import *
from .alts import Alt from .alts import Alt
from .submission import SaveRelationship from .submission import SaveRelationship
from .comment import Notification from .comment import Notification
@ -345,11 +346,11 @@ class User(Base, Stndrd, Age_times):
@lazy @lazy
def post_notifications_count(self): def post_notifications_count(self):
return self.notifications.filter(Notification.read == False).join(Notification.comment).filter( return self.notifications.filter(Notification.read == False).join(Notification.comment).filter(
Comment.author_id == 2360).count() Comment.author_id == AUTOJANNY_ACCOUNT).count()
def notification_subscriptions(self, page=1, all_=False): def notification_subscriptions(self, page=1, all_=False):
notifications = self.notifications.join(Notification.comment).filter(Comment.author_id == 2360) notifications = self.notifications.join(Notification.comment).filter(Comment.author_id == AUTOJANNY_ACCOUNT)
notifications = notifications.options( notifications = notifications.options(
contains_eager(Notification.comment) contains_eager(Notification.comment)
@ -370,7 +371,7 @@ class User(Base, Stndrd, Age_times):
notifications = self.notifications.join(Notification.comment).filter( notifications = self.notifications.join(Notification.comment).filter(
Comment.is_banned == False, Comment.is_banned == False,
Comment.deleted_utc == 0, Comment.deleted_utc == 0,
Comment.author_id != 2360, Comment.author_id != AUTOJANNY_ACCOUNT,
) )
if not all_: if not all_:
@ -536,7 +537,7 @@ class User(Base, Stndrd, Age_times):
self.profileurl = None self.profileurl = None
delete_role(self, "linked") delete_role(self, "linked")
self.is_banned = admin.id if admin else 2360 self.is_banned = admin.id if admin else AUTOJANNY_ACCOUNT
if reason: self.ban_reason = reason if reason: self.ban_reason = reason
g.db.add(self) g.db.add(self)
@ -703,4 +704,4 @@ class ViewerRelationship(Base):
return f"{months}mo ago" return f"{months}mo ago"
else: else:
years = int(months / 12) years = int(months / 12)
return f"{years}yr ago" return f"{years}yr ago"

View File

@ -4,6 +4,7 @@ from files.classes import *
from flask import g from flask import g
from .markdown import * from .markdown import *
from .sanitize import * from .sanitize import *
from .const import *
def send_notification(vid, user, text): def send_notification(vid, user, text):
@ -63,7 +64,7 @@ def send_follow_notif(vid, user, text):
with CustomRenderer() as renderer: text_html = renderer.render(mistletoe.Document(text)) with CustomRenderer() as renderer: text_html = renderer.render(mistletoe.Document(text))
text_html = sanitize(text_html, linkgen=True) text_html = sanitize(text_html, linkgen=True)
new_comment = Comment(author_id=1046, new_comment = Comment(author_id=NOTIFICATIONS_ACCOUNT,
parent_submission=None, parent_submission=None,
distinguish_level=6, distinguish_level=6,
) )
@ -89,7 +90,7 @@ def send_unfollow_notif(vid, user, text):
text_html = renderer.render(mistletoe.Document(text)) text_html = renderer.render(mistletoe.Document(text))
text_html = sanitize(text_html, linkgen=True) text_html = sanitize(text_html, linkgen=True)
new_comment = Comment(author_id=1046, new_comment = Comment(author_id=NOTIFICATIONS_ACCOUNT,
parent_submission=None, parent_submission=None,
distinguish_level=6, distinguish_level=6,
) )
@ -115,7 +116,7 @@ def send_block_notif(vid, user, text):
text_html = renderer.render(mistletoe.Document(text)) text_html = renderer.render(mistletoe.Document(text))
text_html = sanitize(text_html, linkgen=True) text_html = sanitize(text_html, linkgen=True)
new_comment = Comment(author_id=1046, new_comment = Comment(author_id=NOTIFICATIONS_ACCOUNT,
parent_submission=None, parent_submission=None,
distinguish_level=6, distinguish_level=6,
) )
@ -141,7 +142,7 @@ def send_unblock_notif(vid, user, text):
text_html = renderer.render(mistletoe.Document(text)) text_html = renderer.render(mistletoe.Document(text))
text_html = sanitize(text_html, linkgen=True) text_html = sanitize(text_html, linkgen=True)
new_comment = Comment(author_id=1046, new_comment = Comment(author_id=NOTIFICATIONS_ACCOUNT,
parent_submission=None, parent_submission=None,
distinguish_level=6, distinguish_level=6,
) )

View File

@ -0,0 +1,50 @@
from os import environ
SLURS = {
" fag":" cute twink",
" Fag":" Cute twink",
" FAG":" CUTE TWINK",
" faggot":" cute twink",
" Faggot":" Cute twink",
" FAGGOT":" CUTE TWINK",
" kill yourself":" keep yourself safe",
" KILL YOURSELF":" KEEP YOURSELF SAFE",
" nigger":" ",
" Nigger":" ",
" NIGGER":" ",
" pedo":" libertarian",
" Pedo":" Libertarian ",
" PEDO":" LIBERTARIAN ",
" rapist":" male feminist",
" Rapist":" Male feminist",
" RAPIST":" MALE FEMINIST",
" RETARD":" RSLUR",
" steve akins":" penny verity oaken",
" Steve Akins":" Penny Verity Oaken",
" STEVE AKINS":" PENNY VERITY OAKEN",
" trannie":" ",
" Trannie":" ",
" TRANNIE":" ",
" tranny":" ",
" Tranny":" ",
" TRANNY":" ",
" troon":" ",
" Troon":" ",
" TROON":" ",
}
LONGPOST_REPLIES = ['Wow, you must be a JP fan.', 'This is one of the worst posts I have EVER seen. Delete it.', "No, don't reply like this, please do another wall of unhinged rant please.", '# 😴😴😴', "Ma'am we've been over this before. You need to stop.", "I've known more coherent downies.", "Your pulitzer's in the mail", "That's great and all, but I asked for my burger without cheese.", 'That degree finally paying off', "That's nice sweaty. Why don't you have a seat in the time out corner with Pizzashill until you calm down, then you can have your Capri Sun.", "All them words won't bring your pa back.", "You had a chance to not be completely worthless, but it looks like you threw it away. At least you're consistent.", 'Some people are able to display their intelligence by going on at length on a subject and never actually saying anything. This ability is most common in trades such as politics, public relations, and law. You have impressed me by being able to best them all, while still coming off as an absolute idiot.', "You can type 10,000 characters and you decided that these were the one's that you wanted.", 'Have you owned the libs yet?', "I don't know what you said, because I've seen another human naked.", 'Impressive. Normally people with such severe developmental disabilities struggle to write much more than a sentence or two. He really has exceded our expectations for the writing portion. Sadly the coherency of his writing, along with his abilities in the social skills and reading portions, are far behind his peers with similar disabilities.', "This is a really long way of saying you don't fuck.", "Sorry ma'am, looks like his delusions have gotten worse. We'll have to admit him,", '![](https://i.kym-cdn.com/photos/images/newsfeed/001/038/094/0a1.jpg)', 'If only you could put that energy into your relationships', 'Posts like this is why I do Heroine.', 'still unemployed then?', 'K', 'look im gunna have 2 ask u 2 keep ur giant dumps in the toilet not in my replys 😷😷😷', "Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures.", "Good job bobby, here's a star", "That was a mistake. You're about to find out the hard way why.", 'You sat down and wrote all this shit. You could have done so many other things with your life. What happened to your life that made you decide writing novels of bullshit on rdrama.net was the best option?', "I don't have enough spoons to read this shit", "All those words won't bring daddy back.", 'OUT!', "Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures."]
AGENDAPOSTER_MSG = """Hi {username},\n\nYour comment has been automatically removed because you forgot
to include `trans lives matter`.\n\nDon't worry, we're here to help! We
won't let you post or comment anything that doesn't express your love and acceptance towards
the trans community. Feel free to resubmit your comment with `trans lives matter`
included. \n\n*This is an automated message; if you need help,
you can message us [here](/contact).*"""
NOTIFICATIONS_ACCOUNT = 1046
AUTOJANNY_ACCOUNT = 2360
LONGPOSTBOT_ACCOUNT = 1832
PUSHER_INSTANCE_ID = '02ddcc80-b8db-42be-9022-44c546b4dce6'
PUSHER_KEY = environ.get("PUSHER_KEY", "").strip()

View File

@ -1,5 +1,6 @@
from files.__main__ import app from files.__main__ import app
from .get import * from .get import *
from files.helpers import const
@app.template_filter("full_link") @app.template_filter("full_link")
@ -19,4 +20,10 @@ def post_embed(id, v):
p = get_post(id, graceful=True) p = get_post(id, graceful=True)
return render_template("submission_listing.html", listing=[p], v=v) return render_template("submission_listing.html", listing=[p], v=v)
@app.context_processor
def inject_constants():
constants = [c for c in dir(const) if not c.startswith("_")]
return {c:getattr(const, c) for c in constants}

View File

@ -4,6 +4,7 @@ from werkzeug.wrappers.response import Response as RespObj
from .get import * from .get import *
from .alerts import send_notification from .alerts import send_notification
from files.__main__ import app from files.__main__ import app
from files.helpers.const import *
def get_logged_in_user(): def get_logged_in_user():
@ -48,7 +49,7 @@ def check_ban_evade(v):
if random.randint(0,30) < v.ban_evade: if random.randint(0,30) < v.ban_evade:
v.ban(reason="ban evasion") v.ban(reason="ban evasion")
send_notification(1046, v, "Your account has been permanently suspended for the following reason:\n\n> ban evasion") send_notification(NOTIFICATIONS_ACCOUNT, v, "Your account has been permanently suspended for the following reason:\n\n> ban evasion")
for post in g.db.query(Submission).filter_by(author_id=v.id).all(): for post in g.db.query(Submission).filter_by(author_id=v.id).all():
if post.is_banned: if post.is_banned:
@ -60,7 +61,7 @@ def check_ban_evade(v):
ma=ModAction( ma=ModAction(
kind="ban_post", kind="ban_post",
user_id=2360, user_id=AUTOJANNY_ACCOUNT,
target_submission_id=post.id, target_submission_id=post.id,
note="ban evasion" note="ban evasion"
) )
@ -78,7 +79,7 @@ def check_ban_evade(v):
ma=ModAction( ma=ModAction(
kind="ban_comment", kind="ban_comment",
user_id=2360, user_id=AUTOJANNY_ACCOUNT,
target_comment_id=comment.id, target_comment_id=comment.id,
note="ban evasion" note="ban evasion"
) )
@ -251,4 +252,4 @@ def api(*scopes, no_ban=False):
wrapper.__name__ = f.__name__ wrapper.__name__ = f.__name__
return wrapper return wrapper
return wrapper_maker return wrapper_maker

View File

@ -12,6 +12,7 @@ from files.helpers.markdown import *
from files.helpers.security import * from files.helpers.security import *
from files.helpers.get import * from files.helpers.get import *
from files.helpers.images import * from files.helpers.images import *
from files.helpers.const import *
from files.classes import * from files.classes import *
from flask import * from flask import *
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
@ -177,7 +178,7 @@ def badge_grant_post(v):
\n\n{new_badge.name} \n\n{new_badge.name}
""" """
send_notification(1046, user, text) send_notification(NOTIFICATIONS_ACCOUNT, user, text)
if badge_id in [21,22,23,24,28]: if badge_id in [21,22,23,24,28]:
user.patron = int(str(badge_id)[-1]) user.patron = int(str(badge_id)[-1])
@ -624,7 +625,7 @@ def ban_user(user_id, v):
if x.admin_level > 0: break if x.admin_level > 0: break
x.ban(admin=v, reason=reason) x.ban(admin=v, reason=reason)
send_notification(1046, user, text) send_notification(NOTIFICATIONS_ACCOUNT, user, text)
if days == 0: duration = "permanent" if days == 0: duration = "permanent"
elif days == 1: duration = "1 day" elif days == 1: duration = "1 day"
@ -669,7 +670,7 @@ def unban_user(user_id, v):
if x.admin_level == 0: if x.admin_level == 0:
x.unban() x.unban()
send_notification(1046, user, send_notification(NOTIFICATIONS_ACCOUNT, user,
"Your account has been reinstated. Please carefully review and abide by the [rules](/post/2510) to ensure that you don't get suspended again.") "Your account has been reinstated. Please carefully review and abide by the [rules](/post/2510) to ensure that you don't get suspended again.")
ma=ModAction( ma=ModAction(
@ -1085,4 +1086,4 @@ def multiple_plots(**kwargs):
plt.savefig("image.png") plt.savefig("image.png")
plt.clf() plt.clf()
return upload_file(png=True) return upload_file(png=True)

View File

@ -2,6 +2,7 @@ from files.__main__ import app
from files.helpers.wrappers import * from files.helpers.wrappers import *
from files.helpers.alerts import * from files.helpers.alerts import *
from files.helpers.get import * from files.helpers.get import *
from files.helpers.const import *
from files.classes.award import * from files.classes.award import *
from flask import g, request from flask import g, request
@ -15,12 +16,12 @@ def banaward_trigger(post=None, comment=None):
if not author.is_suspended: if not author.is_suspended:
author.ban(reason="1-day ban award used", days=1) author.ban(reason="1-day ban award used", days=1)
send_notification(1046, author, f"Your account has been suspended for a day for {link}. It sucked and you should feel bad.") send_notification(NOTIFICATIONS_ACCOUNT, author, f"Your account has been suspended for a day for {link}. It sucked and you should feel bad.")
elif author.unban_utc > 0: elif author.unban_utc > 0:
author.unban_utc += 24*60*60 author.unban_utc += 24*60*60
g.db.add(author) g.db.add(author)
send_notification(1046, author, f"Your account has been suspended for yet another day for {link}. Seriously man?") send_notification(NOTIFICATIONS_ACCOUNT, author, f"Your account has been suspended for yet another day for {link}. Seriously man?")
ACTIONS = { ACTIONS = {
@ -100,7 +101,7 @@ def award_post(pid, v):
if note: if note:
msg += f"\n\n> {note}" msg += f"\n\n> {note}"
send_notification(1046, post.author, msg) send_notification(NOTIFICATIONS_ACCOUNT, post.author, msg)
if kind in ACTIONS: if kind in ACTIONS:
ACTIONS[kind](post=post) ACTIONS[kind](post=post)
@ -161,7 +162,7 @@ def award_comment(cid, v):
if note: if note:
msg += f"\n\n> {note}" msg += f"\n\n> {note}"
send_notification(1046, c.author, msg) send_notification(NOTIFICATIONS_ACCOUNT, c.author, msg)
if kind in ACTIONS: if kind in ACTIONS:
ACTIONS[kind](comment=c) ACTIONS[kind](comment=c)
@ -217,6 +218,6 @@ def admin_userawards_post(v):
for key, value in notify_awards.items(): for key, value in notify_awards.items():
text += f" - **{value}** {AWARDS[key]['title']} {'Awards' if value != 1 else 'Award'}\n" text += f" - **{value}** {AWARDS[key]['title']} {'Awards' if value != 1 else 'Award'}\n"
send_notification(1046, u, text) send_notification(NOTIFICATIONS_ACCOUNT, u, text)
return render_template("admin/user_award.html", awards=list(AWARDS.values()), v=v) return render_template("admin/user_award.html", awards=list(AWARDS.values()), v=v)

View File

@ -6,6 +6,7 @@ from files.helpers.filters import *
from files.helpers.alerts import * from files.helpers.alerts import *
from files.helpers.images import * from files.helpers.images import *
from files.helpers.session import * from files.helpers.session import *
from files.helpers.const import *
from files.classes import * from files.classes import *
from files.routes.front import comment_idlist from files.routes.front import comment_idlist
from pusher_push_notifications import PushNotifications from pusher_push_notifications import PushNotifications
@ -15,12 +16,8 @@ from files.__main__ import app, limiter
site = environ.get("DOMAIN").strip() site = environ.get("DOMAIN").strip()
choices = ['Wow, you must be a JP fan.', 'This is one of the worst posts I have EVER seen. Delete it.', "No, don't reply like this, please do another wall of unhinged rant please.", '# 😴😴😴', "Ma'am we've been over this before. You need to stop.", "I've known more coherent downies.", "Your pulitzer's in the mail", "That's great and all, but I asked for my burger without cheese.", 'That degree finally paying off', "That's nice sweaty. Why don't you have a seat in the time out corner with Pizzashill until you calm down, then you can have your Capri Sun.", "All them words won't bring your pa back.", "You had a chance to not be completely worthless, but it looks like you threw it away. At least you're consistent.", 'Some people are able to display their intelligence by going on at length on a subject and never actually saying anything. This ability is most common in trades such as politics, public relations, and law. You have impressed me by being able to best them all, while still coming off as an absolute idiot.', "You can type 10,000 characters and you decided that these were the one's that you wanted.", 'Have you owned the libs yet?', "I don't know what you said, because I've seen another human naked.", 'Impressive. Normally people with such severe developmental disabilities struggle to write much more than a sentence or two. He really has exceded our expectations for the writing portion. Sadly the coherency of his writing, along with his abilities in the social skills and reading portions, are far behind his peers with similar disabilities.', "This is a really long way of saying you don't fuck.", "Sorry ma'am, looks like his delusions have gotten worse. We'll have to admit him,", '![](https://i.kym-cdn.com/photos/images/newsfeed/001/038/094/0a1.jpg)', 'If only you could put that energy into your relationships', 'Posts like this is why I do Heroine.', 'still unemployed then?', 'K', 'look im gunna have 2 ask u 2 keep ur giant dumps in the toilet not in my replys 😷😷😷', "Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures.", "Good job bobby, here's a star", "That was a mistake. You're about to find out the hard way why.", 'You sat down and wrote all this shit. You could have done so many other things with your life. What happened to your life that made you decide writing novels of bullshit on rdrama.net was the best option?', "I don't have enough spoons to read this shit", "All those words won't bring daddy back.", 'OUT!', "Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures."]
PUSHER_KEY = environ.get("PUSHER_KEY", "").strip()
beams_client = PushNotifications( beams_client = PushNotifications(
instance_id='02ddcc80-b8db-42be-9022-44c546b4dce6', instance_id=PUSHER_INSTANCE_ID,
secret_key=PUSHER_KEY, secret_key=PUSHER_KEY,
) )
@ -219,7 +216,7 @@ def api_comment(v):
if len(similar_comments) > threshold: if len(similar_comments) > threshold:
text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!" text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!"
send_notification(1046, v, text) send_notification(NOTIFICATIONS_ACCOUNT, v, text)
v.ban(reason="Spamming.", v.ban(reason="Spamming.",
days=1) days=1)
@ -233,7 +230,7 @@ def api_comment(v):
comment.ban_reason = "Automatic spam removal. This happened because the post's creator submitted too much similar content too quickly." comment.ban_reason = "Automatic spam removal. This happened because the post's creator submitted too much similar content too quickly."
g.db.add(comment) g.db.add(comment)
ma=ModAction( ma=ModAction(
user_id=2360, user_id=AUTOJANNY_ACCOUNT,
target_comment_id=comment.id, target_comment_id=comment.id,
kind="ban_comment", kind="ban_comment",
note="spam" note="spam"
@ -302,7 +299,7 @@ def api_comment(v):
g.db.add(c) g.db.add(c)
c_jannied = Comment(author_id=2360, c_jannied = Comment(author_id=AUTOJANNY_ACCOUNT,
parent_submission=parent_submission, parent_submission=parent_submission,
distinguish_level=6, distinguish_level=6,
parent_comment_id=c.id, parent_comment_id=c.id,
@ -313,12 +310,7 @@ def api_comment(v):
g.db.add(c_jannied) g.db.add(c_jannied)
g.db.flush() g.db.flush()
body = f"""Hi @{v.username},\n\nYour comment has been automatically removed because you forgot body = AGENDAPOSTER_MSG.format(username=v.username)
to include `trans lives matter`.\n\nDon't worry, we're here to help! We
won't let you post or comment anything that doesn't express your love and acceptance towards
the trans community. Feel free to resubmit your comment with `trans lives matter`
included. \n\n*This is an automated message; if you need help,
you can message us [here](/contact).*"""
#body = body.replace("\n", "\n\n").replace("\n\n\n\n\n\n", "\n\n").replace("\n\n\n\n", "\n\n").replace("\n\n\n", "\n\n") #body = body.replace("\n", "\n\n").replace("\n\n\n\n\n\n", "\n\n").replace("\n\n\n\n", "\n\n").replace("\n\n\n", "\n\n")
with CustomRenderer(post_id=parent_id) as renderer: with CustomRenderer(post_id=parent_id) as renderer:
@ -336,7 +328,7 @@ def api_comment(v):
g.db.add(n) g.db.add(n)
if "rdrama" in request.host and len(body) >= 1000 and v.username != "Snappy" and "</blockquote>" not in body_html: if "rdrama" in request.host and len(body) >= 1000 and v.username != "Snappy" and "</blockquote>" not in body_html:
c2 = Comment(author_id=1832, c2 = Comment(author_id=LONGPOSTBOT_ACCOUNT,
parent_submission=parent_submission, parent_submission=parent_submission,
parent_comment_id=c.id, parent_comment_id=c.id,
level=level+1, level=level+1,
@ -346,7 +338,7 @@ def api_comment(v):
g.db.add(c2) g.db.add(c2)
g.db.flush() g.db.flush()
body = random.choice(choices) body = random.choice(LONGPOST_REPLIES)
body = body.replace("\n", "\n\n").replace("\n\n\n\n\n\n", "\n\n").replace("\n\n\n\n", "\n\n").replace("\n\n\n", "\n\n") body = body.replace("\n", "\n\n").replace("\n\n\n\n\n\n", "\n\n").replace("\n\n\n\n", "\n\n").replace("\n\n\n", "\n\n")
with CustomRenderer(post_id=parent_id) as renderer: body_md = renderer.render(mistletoe.Document(body)) with CustomRenderer(post_id=parent_id) as renderer: body_md = renderer.render(mistletoe.Document(body))
body_html2 = sanitize(body_md, linkgen=True) body_html2 = sanitize(body_md, linkgen=True)
@ -609,7 +601,7 @@ def edit_comment(cid, v):
if len(similar_comments) > threshold: if len(similar_comments) > threshold:
text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!" text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!"
send_notification(1046, v, text) send_notification(NOTIFICATIONS_ACCOUNT, v, text)
v.ban(reason="Spamming.", v.ban(reason="Spamming.",
days=1) days=1)
@ -644,7 +636,7 @@ def edit_comment(cid, v):
g.db.add(c) g.db.add(c)
c_jannied = Comment(author_id=2360, c_jannied = Comment(author_id=AUTOJANNY_ACCOUNT,
parent_submission=c.parent_submission, parent_submission=c.parent_submission,
distinguish_level=6, distinguish_level=6,
parent_comment_id=c.id, parent_comment_id=c.id,
@ -655,12 +647,7 @@ def edit_comment(cid, v):
g.db.add(c_jannied) g.db.add(c_jannied)
g.db.flush() g.db.flush()
body = f"""Hi @{v.username},\n\nYour comment has been automatically removed because you forgot body = AGENDAPOSTER_MSG.format(username=v.username)
to include `trans lives matter`.\n\nDon't worry, we're here to help! We
won't let you post or comment anything that doesn't express your love and acceptance towards
the trans community. Feel free to resubmit your comment with `trans lives matter`
included. \n\n*This is an automated message; if you need help,
you can message us [here](/contact).*"""
with CustomRenderer(post_id=c.parent_submission) as renderer: with CustomRenderer(post_id=c.parent_submission) as renderer:
body_md = renderer.render(mistletoe.Document(body)) body_md = renderer.render(mistletoe.Document(body))
@ -816,4 +803,4 @@ def unsave_comment(cid, v):
if save: g.db.delete(save) if save: g.db.delete(save)
return "", 204 return "", 204

View File

@ -1,6 +1,7 @@
from urllib.parse import urlencode from urllib.parse import urlencode
from files.mail import * from files.mail import *
from files.__main__ import app, limiter from files.__main__ import app, limiter
from files.helpers.const import *
valid_username_regex = re.compile("^[a-zA-Z0-9_\-]{3,25}$") valid_username_regex = re.compile("^[a-zA-Z0-9_\-]{3,25}$")
valid_password_regex = re.compile("^.{8,100}$") valid_password_regex = re.compile("^.{8,100}$")
@ -315,8 +316,9 @@ def sign_up_post(v):
ref_user.refresh_selfset_badges() ref_user.refresh_selfset_badges()
g.db.add(ref_user) g.db.add(ref_user)
users = g.db.query(User).count() id_1 = g.db.query(User).filter_by(id=1).count()
if users == 0: admin_level=6 users_count = g.db.query(User).count() #paranoid
if id_1 == 0 and users_count < 6: admin_level=6
else: admin_level=0 else: admin_level=0
# make new user # make new user
@ -355,7 +357,7 @@ def sign_up_post(v):
if email: send_verification_email(new_user) if email: send_verification_email(new_user)
# send welcome message # send welcome message
if "rdrama" in request.host: send_notification(1046, new_user, "Dude bussy lmao") if "rdrama" in request.host: send_notification(NOTIFICATIONS_ACCOUNT, new_user, "Dude bussy lmao")
session["user_id"] = new_user.id session["user_id"] = new_user.id
session["session_id"] = token_hex(16) session["session_id"] = token_hex(16)

View File

@ -1,6 +1,7 @@
from files.helpers.wrappers import * from files.helpers.wrappers import *
from files.helpers.alerts import * from files.helpers.alerts import *
from files.helpers.get import * from files.helpers.get import *
from files.helpers.const import *
from files.classes import * from files.classes import *
from flask import * from flask import *
from files.__main__ import app from files.__main__ import app
@ -47,7 +48,7 @@ def request_api_keys(v):
g.db.add(new_app) g.db.add(new_app)
send_admin(1046, f"@{v.username} has requested API keys for `{request.form.get('name')}`. You can approve or deny the request [here](/admin/apps).") send_admin(NOTIFICATIONS_ACCOUNT, f"@{v.username} has requested API keys for `{request.form.get('name')}`. You can approve or deny the request [here](/admin/apps).")
return redirect('/settings/apps') return redirect('/settings/apps')
@ -105,7 +106,7 @@ def admin_app_approve(v, aid):
g.db.add(new_auth) g.db.add(new_auth)
send_notification(1046, user, f"Your application `{app.app_name}` has been approved. Here's your access token: `{access_token}`\nPlease check the guide [here](/api) if you don't know what to do next.") send_notification(NOTIFICATIONS_ACCOUNT, user, f"Your application `{app.app_name}` has been approved. Here's your access token: `{access_token}`\nPlease check the guide [here](/api) if you don't know what to do next.")
return {"message": f"{app.app_name} approved"} return {"message": f"{app.app_name} approved"}
@ -120,7 +121,7 @@ def admin_app_revoke(v, aid):
for auth in g.db.query(ClientAuth).filter_by(oauth_client=app.id).all(): g.db.delete(auth) for auth in g.db.query(ClientAuth).filter_by(oauth_client=app.id).all(): g.db.delete(auth)
g.db.flush() g.db.flush()
send_notification(1046, app.author, f"Your application `{app.app_name}` has been revoked.") send_notification(NOTIFICATIONS_ACCOUNT, app.author, f"Your application `{app.app_name}` has been revoked.")
g.db.delete(app) g.db.delete(app)
@ -137,7 +138,7 @@ def admin_app_reject(v, aid):
for auth in g.db.query(ClientAuth).filter_by(oauth_client=app.id).all(): g.db.delete(auth) for auth in g.db.query(ClientAuth).filter_by(oauth_client=app.id).all(): g.db.delete(auth)
g.db.flush() g.db.flush()
send_notification(1046, app.author, f"Your application `{app.app_name}` has been rejected.") send_notification(NOTIFICATIONS_ACCOUNT, app.author, f"Your application `{app.app_name}` has been rejected.")
g.db.delete(app) g.db.delete(app)
@ -221,4 +222,4 @@ def reroll_oauth_tokens(aid, v):
a.client_id = secrets.token_urlsafe(64)[:64] a.client_id = secrets.token_urlsafe(64)[:64]
g.db.add(a) g.db.add(a)
return {"message": "Client ID Rerolled", "id": a.client_id} return {"message": "Client ID Rerolled", "id": a.client_id}

View File

@ -11,6 +11,7 @@ from files.helpers.session import *
from files.helpers.thumbs import * from files.helpers.thumbs import *
from files.helpers.alerts import send_notification from files.helpers.alerts import send_notification
from files.helpers.discord import send_message from files.helpers.discord import send_message
from files.helpers.const import *
from files.classes import * from files.classes import *
from flask import * from flask import *
from io import BytesIO from io import BytesIO
@ -277,7 +278,7 @@ def edit_post(pid, v):
if badlink: if badlink:
if badlink.autoban: if badlink.autoban:
text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!" text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!"
send_notification(1046, v, text) send_notification(NOTIFICATIONS_ACCOUNT, v, text)
v.ban(days=1, reason="spam") v.ban(days=1, reason="spam")
return redirect('/notifications') return redirect('/notifications')
@ -301,7 +302,7 @@ def edit_post(pid, v):
g.db.add(p) g.db.add(p)
c_jannied = Comment(author_id=2360, c_jannied = Comment(author_id=AUTOJANNY_ACCOUNT,
parent_submission=p.id, parent_submission=p.id,
level=1, level=1,
over_18=False, over_18=False,
@ -314,12 +315,7 @@ def edit_post(pid, v):
g.db.add(c_jannied) g.db.add(c_jannied)
g.db.flush() g.db.flush()
body = f"""Hi @{v.username},\n\nYour post has been automatically removed because you forgot body = AGENDAPOSTER_MSG.format(username=v.username)
to include `trans lives matter`.\n\nDon't worry, we're here to help! We
won't let you post or comment anything that doesn't express your love and acceptance towards
the trans community. Feel free to resubmit your post with `trans lives matter`
included. \n\n*This is an automated message; if you need help,
you can message us [here](/contact).*"""
with CustomRenderer(post_id=p.id) as renderer: with CustomRenderer(post_id=p.id) as renderer:
body_md = renderer.render(mistletoe.Document(body)) body_md = renderer.render(mistletoe.Document(body))
@ -343,7 +339,7 @@ def edit_post(pid, v):
user = g.db.query(User).filter_by(username=username).first() user = g.db.query(User).filter_by(username=username).first()
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user) if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
for x in notify_users: send_notification(1046, x, f"@{v.username} has mentioned you: https://{site}{p.permalink}") for x in notify_users: send_notification(NOTIFICATIONS_ACCOUNT, x, f"@{v.username} has mentioned you: https://{site}{p.permalink}")
return redirect(p.permalink) return redirect(p.permalink)
@ -670,7 +666,7 @@ def submit_post(v):
if max(len(similar_urls), len(similar_posts)) >= threshold: if max(len(similar_urls), len(similar_posts)) >= threshold:
text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!" text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!"
send_notification(1046, v, text) send_notification(NOTIFICATIONS_ACCOUNT, v, text)
v.ban(reason="Spamming.", v.ban(reason="Spamming.",
days=1) days=1)
@ -685,7 +681,7 @@ def submit_post(v):
post.ban_reason = "Automatic spam removal. This happened because the post's creator submitted too much similar content too quickly." post.ban_reason = "Automatic spam removal. This happened because the post's creator submitted too much similar content too quickly."
g.db.add(post) g.db.add(post)
ma=ModAction( ma=ModAction(
user_id=2360, user_id=AUTOJANNY_ACCOUNT,
target_submission_id=post.id, target_submission_id=post.id,
kind="ban_post", kind="ban_post",
note="spam" note="spam"
@ -749,7 +745,7 @@ def submit_post(v):
if badlink: if badlink:
if badlink.autoban: if badlink.autoban:
text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!" text = "Your account has been suspended for 1 day for the following reason:\n\n> Too much spam!"
send_notification(1046, v, text) send_notification(NOTIFICATIONS_ACCOUNT, v, text)
v.ban(days=1, reason="spam") v.ban(days=1, reason="spam")
return redirect('/notifications') return redirect('/notifications')
@ -830,12 +826,12 @@ def submit_post(v):
user = g.db.query(User).filter_by(username=username).first() user = g.db.query(User).filter_by(username=username).first()
if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user) if user and not v.any_block_exists(user) and user.id != v.id: notify_users.add(user)
for x in notify_users: send_notification(1046, x, f"@{v.username} has mentioned you: https://{site}{new_post.permalink}") for x in notify_users: send_notification(NOTIFICATIONS_ACCOUNT, x, f"@{v.username} has mentioned you: https://{site}{new_post.permalink}")
if not new_post.private: if not new_post.private:
for follow in v.followers: for follow in v.followers:
user = get_account(follow.user_id) user = get_account(follow.user_id)
send_notification(2360, user, f"@{v.username} has made a new post: [{title}](https://{site}{new_post.permalink})") send_notification(AUTOJANNY_ACCOUNT, user, f"@{v.username} has made a new post: [{title}](https://{site}{new_post.permalink})")
g.db.add(new_post) g.db.add(new_post)
g.db.flush() g.db.flush()
@ -847,7 +843,7 @@ def submit_post(v):
g.db.add(new_post) g.db.add(new_post)
c_jannied = Comment(author_id=2360, c_jannied = Comment(author_id=AUTOJANNY_ACCOUNT,
parent_submission=new_post.id, parent_submission=new_post.id,
level=1, level=1,
over_18=False, over_18=False,
@ -860,12 +856,7 @@ def submit_post(v):
g.db.add(c_jannied) g.db.add(c_jannied)
g.db.flush() g.db.flush()
body = f"""Hi @{v.username},\n\nYour post has been automatically removed because you forgot body = AGENDAPOSTER_MSG.format(username=v.username)
to include `trans lives matter`.\n\nDon't worry, we're here to help! We
won't let you post or comment anything that doesn't express your love and acceptance towards
the trans community. Feel free to resubmit your post with `trans lives matter`
included. \n\n*This is an automated message; if you need help,
you can message us [here](/contact).*"""
with CustomRenderer(post_id=new_post.id) as renderer: with CustomRenderer(post_id=new_post.id) as renderer:
body_md = renderer.render(mistletoe.Document(body)) body_md = renderer.render(mistletoe.Document(body))

View File

@ -4,6 +4,7 @@ from files.helpers.sanitize import *
from files.helpers.filters import filter_comment_html from files.helpers.filters import filter_comment_html
from files.helpers.markdown import * from files.helpers.markdown import *
from files.helpers.discord import remove_user, set_nick from files.helpers.discord import remove_user, set_nick
from files.helpers.const import *
from files.mail import * from files.mail import *
from files.__main__ import app, cache from files.__main__ import app, cache
import youtube_dl import youtube_dl
@ -466,7 +467,7 @@ def settings_block_user(v):
if v.has_block(user): if v.has_block(user):
return {"error": f"You have already blocked @{user.username}."}, 409 return {"error": f"You have already blocked @{user.username}."}, 409
if user.id == 1046: if user.id == NOTIFICATIONS_ACCOUNT:
return {"error": "You can't block @files."}, 409 return {"error": "You can't block @files."}, 409
new_block = UserBlock(user_id=v.id, new_block = UserBlock(user_id=v.id,

View File

@ -8,6 +8,7 @@ from files.classes.user import ViewerRelationship
from files.helpers.alerts import * from files.helpers.alerts import *
from files.helpers.sanitize import * from files.helpers.sanitize import *
from files.helpers.markdown import * from files.helpers.markdown import *
from files.helpers.const import *
from files.mail import * from files.mail import *
from flask import * from flask import *
from files.__main__ import app, limiter from files.__main__ import app, limiter
@ -15,10 +16,8 @@ from pusher_push_notifications import PushNotifications
site = environ.get("DOMAIN").strip() site = environ.get("DOMAIN").strip()
PUSHER_KEY = environ.get("PUSHER_KEY", "").strip()
beams_client = PushNotifications( beams_client = PushNotifications(
instance_id='02ddcc80-b8db-42be-9022-44c546b4dce6', instance_id=PUSHER_INSTANCE_ID,
secret_key=PUSHER_KEY, secret_key=PUSHER_KEY,
) )
@ -29,7 +28,7 @@ def suicide(v, username):
if v.admin_level == 0 and t - v.suicide_utc < 86400: return "", 204 if v.admin_level == 0 and t - v.suicide_utc < 86400: return "", 204
user = get_user(username) user = get_user(username)
suicide = f"Hi there,\n\nA [concerned user]({v.url}) reached out to us about you.\n\nWhen you're in the middle of something painful, it may feel like you don't have a lot of options. But whatever you're going through, you deserve help and there are people who are here for you.\n\nThere are resources available in your area that are free, confidential, and available 24/7:\n\n- Call, Text, or Chat with Canada's [Crisis Services Canada](https://www.crisisservicescanada.ca/en/)\n- Call, Email, or Visit the UK's [Samaritans](https://www.samaritans.org/)\n- Text CHAT to America's [Crisis Text Line](https://www.crisistextline.org/) at 741741.\nIf you don't see a resource in your area above, the moderators at r/SuicideWatch keep a comprehensive list of resources and hotlines for people organized by location. Find Someone Now\n\nIf you think you may be depressed or struggling in another way, don't ignore it or brush it aside. Take yourself and your feelings seriously, and reach out to someone.\n\nIt may not feel like it, but you have options. There are people available to listen to you, and ways to move forward.\n\nYour fellow users care about you and there are people who want to help." suicide = f"Hi there,\n\nA [concerned user]({v.url}) reached out to us about you.\n\nWhen you're in the middle of something painful, it may feel like you don't have a lot of options. But whatever you're going through, you deserve help and there are people who are here for you.\n\nThere are resources available in your area that are free, confidential, and available 24/7:\n\n- Call, Text, or Chat with Canada's [Crisis Services Canada](https://www.crisisservicescanada.ca/en/)\n- Call, Email, or Visit the UK's [Samaritans](https://www.samaritans.org/)\n- Text CHAT to America's [Crisis Text Line](https://www.crisistextline.org/) at 741741.\nIf you don't see a resource in your area above, the moderators at r/SuicideWatch keep a comprehensive list of resources and hotlines for people organized by location. Find Someone Now\n\nIf you think you may be depressed or struggling in another way, don't ignore it or brush it aside. Take yourself and your feelings seriously, and reach out to someone.\n\nIt may not feel like it, but you have options. There are people available to listen to you, and ways to move forward.\n\nYour fellow users care about you and there are people who want to help."
send_notification(1046, user, suicide) send_notification(NOTIFICATIONS_ACCOUNT, user, suicide)
v.suicide_utc = t v.suicide_utc = t
g.db.add(v) g.db.add(v)
return "", 204 return "", 204
@ -327,7 +326,7 @@ def u_username(username, v=None):
# g.db.add(v) # g.db.add(v)
# u.coins += 500 # u.coins += 500
# g.db.add(u) # g.db.add(u)
# send_notification(1046, u, f"@{v.username} has paid rent!") # send_notification(NOTIFICATIONS_ACCOUNT, u, f"@{v.username} has paid rent!")
# paidrent = True # paidrent = True
# if not paidrent: # if not paidrent:
@ -433,7 +432,7 @@ def u_username_comments(username, v=None):
# g.db.add(v) # g.db.add(v)
# u.coins += 500 # u.coins += 500
# g.db.add(u) # g.db.add(u)
# send_notification(1046, u, f"@{v.username} has paid rent!") # send_notification(NOTIFICATIONS_ACCOUNT, u, f"@{v.username} has paid rent!")
# paidrent = True # paidrent = True
# if not paidrent: # if not paidrent:

View File

@ -92,7 +92,7 @@
{% else %} {% else %}
<span class="font-weight-bold"><a href="{{c.post.permalink}}">{{c.post.realtitle(v) | safe}}</a></span> <span class="font-weight-bold"><a href="{{c.post.permalink}}">{{c.post.realtitle(v) | safe}}</a></span>
{% endif %} {% endif %}
{% elif c.author_id==1046 or c.author_id==2360 %} {% elif c.author_id==NOTIFICATIONS_ACCOUNT or c.author_id==AUTOJANNY_ACCOUNT %}
<span class="font-weight-bold">{{'SITE_NAME' | app_config}} Notification</span> <span class="font-weight-bold">{{'SITE_NAME' | app_config}} Notification</span>
{% else %} {% else %}
<span class="font-weight-bold">Private Message</span> <span class="font-weight-bold">Private Message</span>
@ -146,7 +146,7 @@
<div id="comment-text-{{c.id}}" class="comment-text mb-0"> <div id="comment-text-{{c.id}}" class="comment-text mb-0">
{{c.realbody(v) | safe}} {{c.realbody(v) | safe}}
{% if not c.parent_submission and c.author_id!=1046 and c.author_id!=2360 and c.author_id!=v.id %} {% if not c.parent_submission and c.author_id!=NOTIFICATIONS_ACCOUNT and c.author_id!=AUTOJANNY_ACCOUNT and c.author_id!=v.id %}
<a class="btn btn-primary" href="javascript:void(0)" onclick="document.getElementById('reply-to-{{c.id}}').classList.toggle('d-none')">Reply</a> <a class="btn btn-primary" href="javascript:void(0)" onclick="document.getElementById('reply-to-{{c.id}}').classList.toggle('d-none')">Reply</a>
<pre></pre> <pre></pre>
<form class="d-none" id="reply-to-{{c.id}}" action="/@{{c.author.username}}/reply/{{c.id}}" method="post"> <form class="d-none" id="reply-to-{{c.id}}" action="/@{{c.author.username}}/reply/{{c.id}}" method="post">

View File

@ -40,3 +40,12 @@ INSERT INTO public.users (
'', '30409f', false, false, '', '', 0, false, 0, '', '30409f', false, false, '', '', 0, false, 0,
0, 0, '', true); 0, 0, '', true);
INSERT INTO public.users (
id, username, passhash, created_utc, admin_level, over_18, is_activated, bio, bio_html, login_nonce, is_private,
unban_utc, original_username, customtitle, defaultsorting, defaulttime, namecolor, titlecolor, profileurl, bannerurl,
customtitleplain, themecolor, changelogsub, oldreddit, css, profilecss, coins, agendaposter, suicide_utc,
post_count, comment_count, background, verified
) VALUES (1832, 'longpostbot', '', 0, 0, true, true, '', '', 0, false,
0, 'longpostbot', '', 'hot', 'day', '62ca56', 'e4432d', '', '',
'', '30409f', false, false, '', '', 0, false, 0,
0, 0, '', true);