diff --git a/files/assets/js/comments_v.js b/files/assets/js/comments_v.js
index 9af269380..a351d7e76 100644
--- a/files/assets/js/comments_v.js
+++ b/files/assets/js/comments_v.js
@@ -255,13 +255,18 @@ function markdown(first, second) {
for(i = 0; i < emojis.length; i++){
var emoji = emojis[i][0]
var remoji = emoji.replace(/:/g,'');
- if (remoji.startsWith("!"))
+ if (remoji.startsWith("!#") || remoji.startsWith("#!"))
{
- input = input.replace(emoji, "
")
+ input = input.replace(emoji, "
")
+ } else if (remoji.startsWith("#"))
+ {
+ input = input.replace(emoji, "
")
+ } else if (remoji.startsWith("!"))
+ {
+ input = input.replace(emoji, "
")
} else {
input = input.replace(emoji, "
")
}
-
}
}
diff --git a/files/assets/js/submit.js b/files/assets/js/submit.js
index 8d3fc16ed..f5f1a0c97 100644
--- a/files/assets/js/submit.js
+++ b/files/assets/js/submit.js
@@ -163,13 +163,18 @@ function markdown() {
for(i = 0; i < emojis.length; i++){
var emoji = emojis[i][0]
var remoji = emoji.replace(/:/g,'');
- if (remoji.startsWith("!"))
+ if (remoji.startsWith("!#") || remoji.startsWith("#!"))
{
- input = input.replace(emoji, "
")
+ input = input.replace(emoji, "
")
+ } else if (remoji.startsWith("#"))
+ {
+ input = input.replace(emoji, "
")
+ } else if (remoji.startsWith("!"))
+ {
+ input = input.replace(emoji, "
")
} else {
input = input.replace(emoji, "
")
}
-
}
}
diff --git a/files/helpers/const.py b/files/helpers/const.py
index 5c82540b8..6c9514dd2 100644
--- a/files/helpers/const.py
+++ b/files/helpers/const.py
@@ -36,7 +36,6 @@ AJ_REPLACEMENTS = {
}
SLURS = {
- "white": "mayo",
"retarded": "r-slurred",
"retard": "r-slur",
"tard": "r-slur",
@@ -149,6 +148,7 @@ if SITE == 'rdrama.net':
DAD_ID = 2513
MOM_ID = 4588
BUG_THREAD = 18459
+ EMOJI_THREAD = 22479
elif SITE == "pcmemes.net":
BASEDBOT_ID = 800
KIPPY_ID = 1592
@@ -158,7 +158,7 @@ elif SITE == "pcmemes.net":
LONGPOSTBOT_ID = 1832
ZOZBOT_ID = 1833
AUTOPOLLER_ID = 3369
- TAX_RECEIVER_ID = 1577
+ TAX_RECEIVER_ID = 1592
PIZZA_SHILL_ID = 0
IDIO_ID = 0
CARP_ID = 0
@@ -170,6 +170,7 @@ elif SITE == "pcmemes.net":
DAD_ID = 0
MOM_ID = 0
BUG_THREAD = 4103
+ EMOJI_THREAD = 0
else:
BASEDBOT_ID = 0
KIPPY_ID = 0
@@ -191,6 +192,7 @@ else:
DAD_ID = 0
MOM_ID = 0
BUG_THREAD = 0
+ EMOJI_THREAD = 0
PUSHER_INSTANCE_ID = '02ddcc80-b8db-42be-9022-44c546b4dce6'
PUSHER_KEY = environ.get("PUSHER_KEY", "").strip()
diff --git a/files/helpers/sanitize.py b/files/helpers/sanitize.py
index 539233756..3abf47d7f 100644
--- a/files/helpers/sanitize.py
+++ b/files/helpers/sanitize.py
@@ -165,20 +165,23 @@ def sanitize(sanitized, noimages=False):
if start in sanitized and end in sanitized and start in sanitized.split(end)[0] and end in sanitized.split(start)[1]: sanitized = sanitized.replace(start, '').replace(end, '')
- for i in re.finditer("[^a]>\s*(:[!#]?\w+:\s*)+<\/", sanitized):
+ for i in re.finditer("[^a]>\s*(:[!#]{0,2}\w+:\s*)+<\/", sanitized):
old = i.group(0)
if 'marseylong1' in old or 'marseylong2' in old or 'marseyllama1' in old or 'marseyllama2' in old: new = old.lower().replace(">", " class='mb-0'>")
else: new = old.lower()
for i in re.finditer('(?', sanitized)
+ sanitized = re.sub(f'(?', sanitized)
if emoji in session["favorite_emojis"]: session["favorite_emojis"][emoji] += 1
else: session["favorite_emojis"][emoji] = 1
elif path.isfile(f'./files/assets/images/emojis/{emoji}.webp'):
- sanitized = re.sub(f'(?', sanitized)
+ sanitized = re.sub(f'(?', sanitized)
if emoji in session["favorite_emojis"]: session["favorite_emojis"][emoji] += 1
else: session["favorite_emojis"][emoji] = 1
diff --git a/files/routes/admin.py b/files/routes/admin.py
index 6cfa19477..10ec84ddb 100644
--- a/files/routes/admin.py
+++ b/files/routes/admin.py
@@ -27,37 +27,12 @@ def marseys(v):
marseys = ['marseylaugh','marseyblowkiss','marseyshook','marseythumbsup','marseylove','marseyreading','marseywave','marseyjamming','marseyready','marseyscarf','marseymad','marseycry','marseyinabox','marseysad','marseyexcited','marseysleep','marseyangel','marseydead','marseyparty','marseyrain','marseyagree','marseydisagree','marseyjam','marseygasp','marseytwerking','marseysipping','marseyshrug','marseyglow','marseycope','marseyseethe','marseymerchant','marseyno','marseywalking','marseyhearts','marseybegging','marseytrans2','marseygigaretard','marseysneed','marseybaited','marseyeyeroll','marseydepressed','marseypat','marseyking','marseylong1','marseylong2','marseylong3','marseybadluck','marseyblackfacexmas','marseycensored','marseycherokee','marseychristmasbulb','marseycleonpeterson','marseycomradehandshake','marseycrucified','marseydeadhorse','marseyfattie','marseyfrozenchosen','marseyglowaward','marseyhappytears','marseyimposter','marseykweenxmas','marseylaptop','marseyliquidator','marseynoyouglow','marseyparty1','marseyparty2','marseyparty3','marseyraging','marseyrare','marseyreindeer','marseyreindeer2','marseyroo','marseysanta','marseysanta2','marseysteer','marseysuffragette','marseykys','chudsey','marseyakumu','marseybadger','marseyben10','marseycalarts','marseycheesehead','marseychristmaself','marseychristmastree','marseycoal','marseydolphin','marseyelephant','marseyfeelsgood','marseyhomofascist','marseyhomosupremacist','marseyinshallah','marseykfc','marseypilgrim','marseypresents','marseyracistgrandpa','marseyrevolution','marseyrs','marseysalty','marseyshroom','marseysonic','marseyteaparty','marseytears','marseyturkey','marseyuglyxmasweater','marseytalibanpat','marseyanime','marseyanticarp','marseyarmy','marseyaward','marseybateman','marseybath','marseybear2','marseybigdog','marseybunny','marseycat','marseychristmas','marseycow','marseydeadinside','marseydog','marseyfrog2','marseygondola','marseyhippo','marseylion','marseymyspacetom','marseynails','marseyobese','marseyobesescale','marseypanda2','marseypig','marseyprotestno','marseyprotestyes','marseyreportercnn','marseyreporterfox','marseyropeyourself','marseyropeyourself2','marseysalad','marseysalat','marseysheep','marseytiger','marseytrollcrazy','marseytrollgun','marseytroublemaker','marseyvietnam','marseyairquotes','marseybyeceps','marseycarpcrying','marseycatgirljanny','marseydisabled','marseyegg_irl','marseyfrog','marseyhope','marseymao','marseymoose','marseypunisher','marseytoilet','thinbluefeline','marseycatgirl2','marseycatgirl3','marseycapywalking','marseyatsume','marseybeggar','marseyceiling','marseyclapping','marseydab','marseydealwithit','marseyduck','marseyduck2','marseyflareon','marseyflareonpat','marseyfox','marseyfreezepeach','marseyfrozen','marseyglaceon','marseyglaceonpat','marseygroomer2','marseyhacker2','marseyhillary','marseyinvisible','marseyjolteon','marseyjolteonpat','marseyleafeon','marseyleafeonpat','marseynoyou','marseypedobear','marseyplanecrash','marseypleading','marseypoor','marseyschrodinger','marseysulk','marseytheorist','marseyvaporeon','marseyvaporeonpat','marseywheredrama2','marseyspecialpat','marseyautism','marseybaphomet','marseybear','marseybrap','marseybrianna','marseybrianna2','marseyemo','marseyespeon','marseyespeonheadpat','marseyglow2','marseyhannibal','marseyhypno','marseykingcrown','marseyliondanc','marseyllama','marseyllama1','marseyllama2','marseyllama3','marseyniggawut','marseyorthodoxpat','marseypirate2','marseypumpkinglow','marseyrussiadolls','marseysnappypat','marseysylveon','marseysylveonpat','marseytime','marseytrickortreat','marseytrollolol','marseytwins','marseyumbreon','marseyumbreonpat','mersyapat','marchipmunklove','marseyban','marseycheerup','marseyfry','marseygroomer','marseymalding','marseyplush','marseysalutenavy','marseytunaktunak','marseyza','marsheep','marchipmunk','marseybased','marseydawnbreaker','marseyfurry','marseyhorseshoe','marseypop2','marseysheepdog','marseywallst','marsheen','marseyantiwork','marseycarppat','marseydrama','marseygiveup','marseykitty','marseymini','marseyteruteru','marseyyass','marsheepnpc','marseyfuckoffcarp','marseyneet','marseyxoxo','marseychungus','marseypopcorntime','mersya2','marseycontemplate','marseysob','mersya','marseyderp','marseytinfoil2','marseylovedrama','marseytv','marseyloveyou','marseywheredrama','firecat','marseyannoyed','marseybye','marseycapypat','marseycheeky','marseydicklet','marseydisgust','marseydracula','marseydrone','marseygossip','marseykween','marseymugshot','marseymutt','marseyneon','marseynerd','marseyoceania','marseyohno','marseyramen','marseyrave','marseysadge','marseysalutearmy','marseysalutecop','marseyshy','marseytroll2','marseyvibing','marseywendy','marseyhungry','marseyaoc','marseybrave','marseycoin','marseycopeseethedilate','marseyeldritch','marseyjiangshi','marseymayo','marseynintendo','marseyracist','marseysrdine2','marseywtf2','marseylongpost','marseylongpost2','marseyminimalism','marseyminimalism2','marseymonk','marseypharaoh','marseypharaoh2','marseything','marseydarwin','marseygodel','marseyjudge','marseykiwipat','marseynyan','marseypaint','marseyplaty','marseypostmodern','marseyprisma','marseyrussel','marseystinky','marseywagie','karlmarxey','marsey300','marsey666','marsey666black','marseycapitalistmanlet','marseychad','marseychucky','marseyclown3','marseycolossal','marseydream','marseyhappening','marseyhellraiser','marseyit','marseyjason','marseyjesus','marseyjourno','marseykiwi','marseykiwi2','marseyliondance','marseymati','marseyneat','marseynightmare','marseynosleep','marseypepe2','marseypumpking','marseysaint','marseysaw','marseysharingan','marseyshark','marseysigh','marseysmug3','marseytrad','marcerberus','marscientist','marseyamazon','marseybug2','marseycapy','marseyclown2','marseycrying','marseydio','marseydragon','marseyfans','marseyfine','marseygrilling2','marseyhead','marseyjeans','marseymancer','marseymexican','marseypikachu','marseypikachu2','marseysmug2','marseyspit','marseysweating','marseywoah','marseywolf','marseyyes','marseyzombie','mcmarsey','owlsey','marfield','marlion','marppy','marseyargentina','marseyascii2','marseyayy','marseybaby','marseybackstab','marseybigbrain','marseybiker','marseyblackface','marseybug','marseycarp2','marseycarp3','marseycreepy','marseydetective','marseyfellowkids','marseygandalf','marseygigachad','marseyhandsup','marseyjapanese','marseykink','marseylowpoly','marseyminion','marseymodelo2','marseymorph','marseyonacid','marseypearlclutch','marseypearlclutch2','marseypenguin','marseypride','marseypunching','marseyseven','marseysexylibrarian','marseyshapiro','marseyshiftyeyes','marseyshooting','marseysjw','marseysmoothbrain','marseysniff','marseyspecial','marseysuper','marseythinkorino','marseythroatsinging','marseywarhol','marseyweeb','marseywinner','marseywtf','mlm','plarsy','marseyalien','marseyascii','marseybait','marseyballerina','marseyblueanime','marseybowl','marseybruh','marseybuff','marseycountryclub','marseycool2','marseycrusader','marseycut','marseydaemon','marseydeuxfoid','marseydevil','marseyditzy','marseydoubt','marseyunpettable','marseyfeynman','marseyfocault','marseyfrozenpat','marseygarfield','marseygivecrown','marseygodzilla','marseyheathcliff','marseyheavymetal','marseyhoodwink','marseyjoint','marseymissing','marseymodelo','marseymonke','marseynooo','marseynpc2','marseyoctopus','marseypepe','marseypimp','marseypixel','marseypretty','marseypumpkin2','marseypumpkin3','marseypumpkin4','marseypumpkincloak','marseyquadmagyar','marseyrpgcharacter','marseysartre','marseyscared','marseyskater','marseyskeleton','marseyskeleton2','marseysmudge','marseyspider2','marseyspirit','marseyspooky','marseyspookysmile','marseystars','marseystonetoss','marseythegrey','marseyvaporwave','marseywise','marseywitch','marseywords','marseywords2','marseywut','marseyyikes','marseywhirlyhat','marsey173','marseycthulhu','marseycuck','marseyemperor','marseyface','marseyjohnson','marseykneel','marseymummy','marseymummy2','marseypanda','marseypumpkin','marseyskeletor','marseystein','marseyvampire','marseyvengeance','marseywitch3','marseypop','marseyqueenlizard','marseybane','marseybog','marseybux','marseycommitted','marseydizzy','marseyfunko','marseyhealthy','marseykaiser','marseykyle','marseymask','marseymeds','marseykvlt','marseyn8','marseynietzsche','marseyobey','marseypatriot','marseypedo','marseypony','marseypuke','marseyqueen','marseyrage','marseysnek','marseytinfoil','marseywitch2','marseycenter','marseyauthleft','marseyauthright','marseylibleft','marseylibright','marseybinladen','marseycool','marseyjanny2','marseyjones','marseynapoleon','marseysanders','marseysnoo','marseysoypoint','marseybiting','marseyblush','marseybountyhunter','marseycoonass','marseyfinger','marseyglancing','marseyhappy','marseyluther','marseypizzashill','marseypokerface','marseypopcorn','marseyrasta','marseysad2','marseysmirk','marseysurprised','marseythomas','marseywitch','marseyyawn','marcusfootball','marje','marmsey','marsey1984','marsey420','marsey4chan','marsey69','marseyakshually','marseyandmarcus','marseyasian','marseybattered','marseybiden','marseybingus','marseyblm','marseybluecheck','marseybong','marseybooba','marseyboomer','marseybrainlet','marseybride','marseyburger','marseybush','marseycamus','marseycanned','marseycarp','marseycatgirl','marseychef','marseychonker','marseyclown','marseycomrade','marseyconfused','marseycoomer','marseycop','marseycorn','marseycowboy','marseycumjar1','marseycumjar2','marseycumjar3','marseycwc','marseydespair','marseydeux','marseydildo','marseydoomer','marseydrunk','marseydynamite','marseyfacepalm','marseyfamily','marseyfbi','marseyfeet','marseyfeminist','marseyflamethrower','marseyflamewar','marseyfloyd','marseyfug','marseyghost','marseygift','marseygigavaxxer','marseyglam','marseygodfather','marseygoodnight','marseygrass','marseygrilling','marseyhacker','marseyhmm','marseyhmmm','marseyilluminati','marseyira','marseyisis','marseyjanny','marseyjunkie','marseykkk','marseylawlz','marseylifting','marseylizard','marseylolcow','marseymanlet','marseymaoist','marseymcarthur','marseymermaid','marseymouse','marseymyeisha','marseyneckbeard','marseyniqab','marseynpc','marseynun','marseynut','marseyorthodox','marseyowow','marseypainter','marseypanties','marseypeacekeeper','marseypickle','marseypinochet','marseypipe','marseypirate','marseypoggers','marseypope','marseyproctologist','marseypsycho','marseyqoomer','marseyradioactive','marseyrat','marseyreich','marseyrentfree','marseyretard','marseyrick','marseyrope','marseyrowling','marseysadcat','marseysick','marseyschizo','marseyshisha','marseysmug','marseysociety','marseyspider','marseysrdine','marseystroke','marseysus','marseytaliban','marseytank','marseytankushanka','marseytea','marseythonk','marseytrain','marseytrans','marseytroll','marseytrump','marseyunabomber','marseyuwuw','marseyvan','marseyvaxmaxx','marseyworried','marseyxd','marseyyeezus','marseyzoomer','marseyzwei','marsoy','marsoyhype']
return render_template("marseys.html", v=v, marseys=marseys)
-@app.get("/name//")
-@admin_level_required(2)
-def changename(v, id, name):
- if request.host != 'pcmemes.net': abort(403)
- user = g.db.query(User).filter_by(id=int(id)).first()
- if user:
- user.username = name
- g.db.add(user)
- g.db.commit()
- return "Username changed!"
- return "User not found!"
-
-@app.get("/coins//")
-@admin_level_required(2)
-def addcoins(v, id, coins):
- if request.host != 'pcmemes.net': abort(403)
- user = g.db.query(User).filter_by(id=int(id)).first()
- if user:
- user.coins += int(coins)
- g.db.add(user)
- g.db.commit()
- return "Coins added!"
- return "User not found!"
-
@app.get("/truescore")
@admin_level_required(2)
def truescore(v):
users = g.db.query(User).order_by(User.truecoins.desc()).limit(25).all()
return render_template("truescore.html", v=v, users=users)
-
@app.post("/@/revert_actions")
@limiter.limit("1/second")
@admin_level_required(2)
diff --git a/files/routes/posts.py b/files/routes/posts.py
index c4e86702a..929032741 100644
--- a/files/routes/posts.py
+++ b/files/routes/posts.py
@@ -101,7 +101,8 @@ def post_id(pid, anything=None, v=None):
try: pid = int(pid)
except Exception as e: pass
- if v: defaultsortingcomments = v.defaultsortingcomments
+ if request.host == 'rdrama.net' and pid in [BUG_THREAD, EMOJI_THREAD]: defaultsortingcomments = 'new'
+ elif v: defaultsortingcomments = v.defaultsortingcomments
else: defaultsortingcomments = "top"
sort = request.values.get("sort", defaultsortingcomments)
@@ -247,7 +248,7 @@ def viewmore(v, pid, sort, offset):
if not (v and v.shadowbanned) and not (v and v.admin_level > 1):
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
- comments=comments.filter(Comment.parent_submission == pid, Comment.author_id != AUTOPOLLER_ID).join(
+ comments=comments.filter(Comment.parent_submission == pid, Comment.author_id != AUTOPOLLER_ID, Comment.is_pinned == None).join(
votes,
votes.c.comment_id == Comment.id,
isouter=True
@@ -268,10 +269,8 @@ def viewmore(v, pid, sort, offset):
comment.is_blocking = c[2] or 0
comment.is_blocked = c[3] or 0
output.append(comment)
-
- pinned = [c[0] for c in comments.filter(Comment.is_pinned != None).all()]
-
- comments = comments.filter(Comment.level == 1, Comment.is_pinned == None)
+
+ comments = comments.filter(Comment.level == 1)
if sort == "new":
comments = comments.order_by(Comment.created_utc.desc())
@@ -305,26 +304,24 @@ def viewmore(v, pid, sort, offset):
comments = comments.all()
- if len(comments) > 60:
- comments2 = []
- count = 0
- post = get_post(pid, v=v)
- if post.created_utc > 1638672040:
- for comment in comments:
- comments2.append(comment)
- count += g.db.query(Comment.id).filter_by(parent_submission=post.id, top_comment_id=comment.id).count() + 1
- offset += 1
- if count > 50: break
- else:
- for comment in comments:
- comments2.append(comment)
- count += g.db.query(Comment.id).filter_by(parent_submission=post.id, parent_comment_id=comment.id).count() + 1
- offset += 1
- if count > 10: break
+ comments2 = []
+ count = 0
+ post = get_post(pid, v=v)
+ if post.created_utc > 1638672040:
+ for comment in comments:
+ comments2.append(comment)
+ count += g.db.query(Comment.id).filter_by(parent_submission=post.id, top_comment_id=comment.id).count() + 1
+ offset += 1
+ if count > 50: break
+ else:
+ for comment in comments:
+ comments2.append(comment)
+ count += g.db.query(Comment.id).filter_by(parent_submission=post.id, parent_comment_id=comment.id).count() + 1
+ offset += 1
+ if count > 10: break
- if len(comments) == len(comments2): offset = None
- comments = comments2
- else: offset = None
+ if len(comments) == len(comments2): offset = None
+ comments = comments2
return render_template("comments.html", v=v, comments=comments, render_replies=True, pid=pid, sort=sort, offset=offset)
diff --git a/files/templates/formatting.html b/files/templates/formatting.html
index 6539dd8bc..a96cbec46 100644
--- a/files/templates/formatting.html
+++ b/files/templates/formatting.html
@@ -56,16 +56,21 @@ On {{'SITE_NAME' | app_config}}, you can use Markdown formatting.
Emojis |
:marseylove: |
-  |
+  |
Mirrored Emojis |
:!marseylove: |
-  |
+  |
Large Emojis |
:#marseylove: |
+  |
+
+
+ Large Mirroed Emojis |
+ :#!marseylove: |
 |
diff --git a/snappy_Drama.txt b/snappy_Drama.txt
index 9b2a3b1d4..3d59ccf3a 100644
--- a/snappy_Drama.txt
+++ b/snappy_Drama.txt
@@ -2751,3 +2751,21 @@ I punched her in the face. She was a disgusting person to look at and smelled, a
And in the end I walked out and said, "Enjoy the rest of your stay here, redneck."
{[para]}
+They have that white and red cat posted everywhere. they are obsessed with it. they call it marsey. they have made sexually suggestive drawings of it too
+{[para]}
+Small cocks are so cute omg(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ when you hold one in your hand and it starts twitching its like its nuzzling you(/ω\) or when they perk up and look at you like "owo nya? :3c" hehe ~ penis-kun is happy to see me!!(^ワ^)and the most adorable thing ever is when sperm-sama comes out but theyre rlly shy so u have to work hard!!(๑•̀ㅁ•́๑)✧ but when penis-kun and sperm-sama meet and theyre blushing and all like "uwaaa~!" (ノ´ヮ´)ノ: ・゚hehehe~penis-kun is so adorable (●´Д`●)・::・
+{[para]}
+Im so fucking horny for crazy hoes. I want to fuck a coked-out tumblr hipster DIY aesthetic astrology thot in her lip gloss DSL mouth. I want to cum all over a girl with thick frame glasses and edge dyed bobcut bangs. Everytime I hear a THICK, waist-high-jean-clad braindead slutty wiccan minx say "yikes," "y'all," "big mood," "this is a bop," or "g*y disaster" I get an uncontrollable urge to run up to her and fondle her d cups and sweaty thighs.
+{[para]}
+Wearing a condom during sex doesn't mean you're having sex. You're literally fucking a plastic bag, your dick isn't actually touching the vagina. If you've had sex with hundreds of women but each and every time you wore a condom you would still be a virgin since your dick never made contact with the vagina. It's literally the softcore version of a chastity cage, imagine cucking yourself before putting your dick inbetween some nasty roastie curtains. Imagine sticking your dick inside a girl and still being a virgin, kek.
+{[para]}
+WARNING!!!! If you overuse lefty lingo and go over the top, they can smell you out as "sus" and a r-word. you have to play midwit IQ, and agree to other peoples comments, before making them look like leftist tools.
+
+THEY TOO HATE BEING SUBVERTED BY ME!!!
+
+But they follow me for years on those sites and on invite only discords and on other reddits not in that news link. I CAUSED THE BOTS TONIGHT, SORRY!
+{[para]}
+I only follow the patriarchal aspects of Islam. Not the aspects that make you a cuck e.g. Abstaining from womanising, penetrating a sweet trap virgin ass and lowering your gaze.
+{[para]}
+There are only two rules: no bigotry and no /r/drama users.
+{[para]}