diff --git a/files/assets/emojis.json b/files/assets/emojis.json index 4ccc3a0b9..4bfe7f8ab 100644 --- a/files/assets/emojis.json +++ b/files/assets/emojis.json @@ -889,7 +889,6 @@ {"name":"gigachad3", "tags": ["chad"], "class":"Misc"}, {"name":"gigachad4", "tags": ["chad"], "class":"Misc"}, {"name":"pedobear", "class":"Misc"}, - {"name":"kippy","class":"Misc"}, {"name":"onerat","class":"Misc"}, {"name":"bitchhaditcomin","class":"Misc"}, {"name":"duckdance", "class":"Misc"}, diff --git a/files/assets/images/PCM/192.png b/files/assets/images/PCM/192.png deleted file mode 100644 index 96f5f6f49..000000000 Binary files a/files/assets/images/PCM/192.png and /dev/null differ diff --git a/files/assets/images/PCM/512.png b/files/assets/images/PCM/512.png deleted file mode 100644 index 97693c729..000000000 Binary files a/files/assets/images/PCM/512.png and /dev/null differ diff --git a/files/assets/images/PCM/alert.webp b/files/assets/images/PCM/alert.webp deleted file mode 100644 index 44a67a520..000000000 Binary files a/files/assets/images/PCM/alert.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-apple-1.webp b/files/assets/images/PCM/app-apple-1.webp deleted file mode 100644 index 3abfc8f07..000000000 Binary files a/files/assets/images/PCM/app-apple-1.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-apple-2.webp b/files/assets/images/PCM/app-apple-2.webp deleted file mode 100644 index 50e0b395a..000000000 Binary files a/files/assets/images/PCM/app-apple-2.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-chromium-1.webp b/files/assets/images/PCM/app-chromium-1.webp deleted file mode 100644 index 1f0e83f83..000000000 Binary files a/files/assets/images/PCM/app-chromium-1.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-chromium-2.webp b/files/assets/images/PCM/app-chromium-2.webp deleted file mode 100644 index a453e1650..000000000 Binary files a/files/assets/images/PCM/app-chromium-2.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-chromium-lo-1.webp b/files/assets/images/PCM/app-chromium-lo-1.webp deleted file mode 100644 index cbab3a0f9..000000000 Binary files a/files/assets/images/PCM/app-chromium-lo-1.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-chromium-lo-2.webp b/files/assets/images/PCM/app-chromium-lo-2.webp deleted file mode 100644 index 8521b8e2c..000000000 Binary files a/files/assets/images/PCM/app-chromium-lo-2.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-firefox-1.webp b/files/assets/images/PCM/app-firefox-1.webp deleted file mode 100644 index 889b6830a..000000000 Binary files a/files/assets/images/PCM/app-firefox-1.webp and /dev/null differ diff --git a/files/assets/images/PCM/app-firefox-2.webp b/files/assets/images/PCM/app-firefox-2.webp deleted file mode 100644 index f7856b34d..000000000 Binary files a/files/assets/images/PCM/app-firefox-2.webp and /dev/null differ diff --git a/files/assets/images/PCM/banner.webp b/files/assets/images/PCM/banner.webp deleted file mode 100644 index e646e866c..000000000 Binary files a/files/assets/images/PCM/banner.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/1.webp b/files/assets/images/PCM/banners/1.webp deleted file mode 100644 index 9b2b612da..000000000 Binary files a/files/assets/images/PCM/banners/1.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/10.webp b/files/assets/images/PCM/banners/10.webp deleted file mode 100644 index 033b0f1eb..000000000 Binary files a/files/assets/images/PCM/banners/10.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/11.webp b/files/assets/images/PCM/banners/11.webp deleted file mode 100644 index b271915a2..000000000 Binary files a/files/assets/images/PCM/banners/11.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/2.webp b/files/assets/images/PCM/banners/2.webp deleted file mode 100644 index 1a0595129..000000000 Binary files a/files/assets/images/PCM/banners/2.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/3.webp b/files/assets/images/PCM/banners/3.webp deleted file mode 100644 index 730adf220..000000000 Binary files a/files/assets/images/PCM/banners/3.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/4.webp b/files/assets/images/PCM/banners/4.webp deleted file mode 100644 index 0d83defa5..000000000 Binary files a/files/assets/images/PCM/banners/4.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/5.webp b/files/assets/images/PCM/banners/5.webp deleted file mode 100644 index 8adf7474e..000000000 Binary files a/files/assets/images/PCM/banners/5.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/6.webp b/files/assets/images/PCM/banners/6.webp deleted file mode 100644 index efd92490d..000000000 Binary files a/files/assets/images/PCM/banners/6.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/7.webp b/files/assets/images/PCM/banners/7.webp deleted file mode 100644 index 39ef14191..000000000 Binary files a/files/assets/images/PCM/banners/7.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/8.webp b/files/assets/images/PCM/banners/8.webp deleted file mode 100644 index 40dd1fc26..000000000 Binary files a/files/assets/images/PCM/banners/8.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners/9.webp b/files/assets/images/PCM/banners/9.webp deleted file mode 100644 index 27f155740..000000000 Binary files a/files/assets/images/PCM/banners/9.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/1.webp b/files/assets/images/PCM/banners2/1.webp deleted file mode 100644 index c58f43216..000000000 Binary files a/files/assets/images/PCM/banners2/1.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/2.webp b/files/assets/images/PCM/banners2/2.webp deleted file mode 100644 index 8adf7474e..000000000 Binary files a/files/assets/images/PCM/banners2/2.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/3.webp b/files/assets/images/PCM/banners2/3.webp deleted file mode 100644 index 730adf220..000000000 Binary files a/files/assets/images/PCM/banners2/3.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/4.webp b/files/assets/images/PCM/banners2/4.webp deleted file mode 100644 index 452366b04..000000000 Binary files a/files/assets/images/PCM/banners2/4.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/5.webp b/files/assets/images/PCM/banners2/5.webp deleted file mode 100644 index 7dfbae91d..000000000 Binary files a/files/assets/images/PCM/banners2/5.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/6.webp b/files/assets/images/PCM/banners2/6.webp deleted file mode 100644 index 0d83defa5..000000000 Binary files a/files/assets/images/PCM/banners2/6.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/7.webp b/files/assets/images/PCM/banners2/7.webp deleted file mode 100644 index c207130e0..000000000 Binary files a/files/assets/images/PCM/banners2/7.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners2/8.webp b/files/assets/images/PCM/banners2/8.webp deleted file mode 100644 index 08bddc13a..000000000 Binary files a/files/assets/images/PCM/banners2/8.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners_xmas22/1.webp b/files/assets/images/PCM/banners_xmas22/1.webp deleted file mode 100644 index 0e464b8ba..000000000 Binary files a/files/assets/images/PCM/banners_xmas22/1.webp and /dev/null differ diff --git a/files/assets/images/PCM/banners_xmas22/2.webp b/files/assets/images/PCM/banners_xmas22/2.webp deleted file mode 100644 index cb2ce6106..000000000 Binary files a/files/assets/images/PCM/banners_xmas22/2.webp and /dev/null differ diff --git a/files/assets/images/PCM/coins.webp b/files/assets/images/PCM/coins.webp deleted file mode 100644 index b57f5ba8b..000000000 Binary files a/files/assets/images/PCM/coins.webp and /dev/null differ diff --git a/files/assets/images/PCM/cover.webp b/files/assets/images/PCM/cover.webp deleted file mode 100644 index 5786f7748..000000000 Binary files a/files/assets/images/PCM/cover.webp and /dev/null differ diff --git a/files/assets/images/PCM/croag.webp b/files/assets/images/PCM/croag.webp deleted file mode 100644 index 8a48c23f2..000000000 Binary files a/files/assets/images/PCM/croag.webp and /dev/null differ diff --git a/files/assets/images/PCM/default_text.webp b/files/assets/images/PCM/default_text.webp deleted file mode 100644 index 101e1ec15..000000000 Binary files a/files/assets/images/PCM/default_text.webp and /dev/null differ diff --git a/files/assets/images/PCM/headericon.webp b/files/assets/images/PCM/headericon.webp deleted file mode 100644 index 5786f7748..000000000 Binary files a/files/assets/images/PCM/headericon.webp and /dev/null differ diff --git a/files/assets/images/PCM/icon.webp b/files/assets/images/PCM/icon.webp deleted file mode 100644 index 5786f7748..000000000 Binary files a/files/assets/images/PCM/icon.webp and /dev/null differ diff --git a/files/assets/images/PCM/lottery.webp b/files/assets/images/PCM/lottery.webp deleted file mode 100644 index b2250b454..000000000 Binary files a/files/assets/images/PCM/lottery.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/21.webp b/files/assets/images/PCM/patron_badges/21.webp deleted file mode 100644 index d1bb5f1d4..000000000 Binary files a/files/assets/images/PCM/patron_badges/21.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/22.webp b/files/assets/images/PCM/patron_badges/22.webp deleted file mode 100644 index 106dbf403..000000000 Binary files a/files/assets/images/PCM/patron_badges/22.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/23.webp b/files/assets/images/PCM/patron_badges/23.webp deleted file mode 100644 index b36384d89..000000000 Binary files a/files/assets/images/PCM/patron_badges/23.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/24.webp b/files/assets/images/PCM/patron_badges/24.webp deleted file mode 100644 index a97570479..000000000 Binary files a/files/assets/images/PCM/patron_badges/24.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/25.webp b/files/assets/images/PCM/patron_badges/25.webp deleted file mode 100644 index 00a2a06cc..000000000 Binary files a/files/assets/images/PCM/patron_badges/25.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/26.webp b/files/assets/images/PCM/patron_badges/26.webp deleted file mode 100644 index 11be6076c..000000000 Binary files a/files/assets/images/PCM/patron_badges/26.webp and /dev/null differ diff --git a/files/assets/images/PCM/patron_badges/27.webp b/files/assets/images/PCM/patron_badges/27.webp deleted file mode 100644 index 4ae292f78..000000000 Binary files a/files/assets/images/PCM/patron_badges/27.webp and /dev/null differ diff --git a/files/assets/images/PCM/sidebar.webp b/files/assets/images/PCM/sidebar.webp deleted file mode 100644 index 5a32bf763..000000000 Binary files a/files/assets/images/PCM/sidebar.webp and /dev/null differ diff --git a/files/assets/images/PCM/site_preview.webp b/files/assets/images/PCM/site_preview.webp deleted file mode 100644 index e646e866c..000000000 Binary files a/files/assets/images/PCM/site_preview.webp and /dev/null differ diff --git a/files/assets/images/PCM/toe.webp b/files/assets/images/PCM/toe.webp deleted file mode 100644 index fe0aacf07..000000000 Binary files a/files/assets/images/PCM/toe.webp and /dev/null differ diff --git a/files/assets/images/wholesome.webp b/files/assets/images/wholesome.webp deleted file mode 100644 index 4fafe19f7..000000000 Binary files a/files/assets/images/wholesome.webp and /dev/null differ diff --git a/files/assets/manifest_PCM.json b/files/assets/manifest_PCM.json deleted file mode 100644 index 27bd0b163..000000000 --- a/files/assets/manifest_PCM.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "PCM", - "short_name": "PCM", - "start_url": "https://pcmemes.net", - "display": "minimal-ui", - "background_color": "#805AD5", - "theme_color": "#805AD5", - "description": "PCM", - "icons": [ - { - "src": "/i/PCM/192.png?v=2001", - "sizes": "192x192", - "type": "image/png", - "purpose": "any" - }, - { - "src": "/i/PCM/512.png?v=2001", - "sizes": "512x512", - "type": "image/png" - } - ] -} diff --git a/files/classes/__init__.py b/files/classes/__init__.py index b45bb888c..66ecf3789 100644 --- a/files/classes/__init__.py +++ b/files/classes/__init__.py @@ -33,6 +33,4 @@ if KOFI_TOKEN: from .transactions import * from .sub_logs import * from .media import * -if FEATURES['STREAMERS']: - from .streamers import * from .push_subscriptions import * diff --git a/files/classes/streamers.py b/files/classes/streamers.py deleted file mode 100644 index 209cf839f..000000000 --- a/files/classes/streamers.py +++ /dev/null @@ -1,18 +0,0 @@ -import time - -from sqlalchemy import Column -from sqlalchemy.sql.sqltypes import * - -from files.classes import Base - -class Streamer(Base): - __tablename__ = "streamers" - id = Column(String, primary_key=True) - created_utc = Column(Integer) - - def __init__(self, *args, **kwargs): - if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time()) - super().__init__(*args, **kwargs) - - def __repr__(self): - return f"<{self.__class__.__name__}(id={self.id})>" diff --git a/files/classes/user.py b/files/classes/user.py index eeaaa704b..fb4f8390c 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -37,10 +37,6 @@ from .userblock import * class User(Base): __tablename__ = "users" - if SITE == "pcmemes.net": - basedcount = Column(Integer, default=0) - pills = deferred(Column(String, default="")) - id = Column(Integer, primary_key=True) username = Column(String) namecolor = Column(String, default=DEFAULT_COLOR) diff --git a/files/helpers/actions.py b/files/helpers/actions.py index f9ddc470f..369c34238 100644 --- a/files/helpers/actions.py +++ b/files/helpers/actions.py @@ -301,43 +301,6 @@ def execute_longpostbot(c:Comment, level:int, body, body_html, post_target:post_ n = Notification(comment_id=c2.id, user_id=v.id) g.db.add(n) -def execute_basedbot(c:Comment, level:int, body, post_target:post_target_type, v:User): - if SITE != "pcmemes.net": return - if not c.body.lower().startswith("based"): return - posting_to_submission = isinstance(post_target, Submission) - pill = based_regex.match(body) - if level == 1: - basedguy = get_account(post_target.author_id) if posting_to_submission else post_target - else: - basedguy = get_account(c.parent_comment.author_id) - basedguy.basedcount += 1 - if pill: - if basedguy.pills: basedguy.pills += f", {pill.group(1)}" - else: basedguy.pills += f"{pill.group(1)}" - g.db.add(basedguy) - - body2 = f"@{basedguy.username}'s Based Count has increased by 1. Their Based Count is now {basedguy.basedcount}." - if basedguy.pills: body2 += f"\n\nPills: {basedguy.pills}" - - body_based_html = sanitize(body2) - c_based = Comment(author_id=BASEDBOT_ID, - parent_submission=post_target.id if posting_to_submission else None, - wall_user_id=post_target.id if not posting_to_submission else None, - distinguish_level=6, - parent_comment_id=c.id, - level=level+1, - is_bot=True, - body_html=body_based_html, - top_comment_id=c.top_comment_id, - ghost=c.ghost - ) - - g.db.add(c_based) - g.db.flush() - - n = Notification(comment_id=c_based.id, user_id=v.id) - g.db.add(n) - def execute_antispam_submission_check(title, v, url): now = int(time.time()) cutoff = now - 60 * 60 * 24 diff --git a/files/helpers/config/awards.py b/files/helpers/config/awards.py index 8f99a8454..c2444ff65 100644 --- a/files/helpers/config/awards.py +++ b/files/helpers/config/awards.py @@ -605,41 +605,6 @@ if SITE_NAME != 'rDrama': } AWARDS.update(EXTRA_AWARDS) -if SITE_NAME == 'PCM': - PCM_AWARDS = { - "croag": { - "kind": "croag", - "title": "Croag", - "description": "Summons Croag on the post.", - "icon": "fas fa-head-side", - "color": "text-gold", - "price": 150, - "deflectable": False, - "cosmetic": True - }, - "toe": { - "kind": "toe", - "title": "Toe Hype", - "description": "Summons Blade's toe on the post.", - "icon": "fas fa-socks", - "color": "text-blue", - "price": 150, - "deflectable": False, - "cosmetic": True - }, - "crab": { - "kind": "crab", - "title": "Crab", - "description": "Rave time!", - "icon": "fas fa-crab", - "color": "text-danger", - "price": 4000, - "deflectable": False, - "cosmetic": True - } - } - AWARDS.update(PCM_AWARDS) - # Permit only cosmetics and pin/unpin on ghosted things. for award in AWARDS: AWARDS[award]['ghost'] = AWARDS[award]['cosmetic'] @@ -715,11 +680,6 @@ for k, val in temp: if SITE_NAME != 'rDrama': AWARDS_DISABLED.append('progressivestack') -if SITE_NAME == 'PCM': - # Previous set of disabled, changed temporarily by request 2022-10-17 - #AWARDS_DISABLED.extend(['ban','pizzashill','marsey','bird','grass','chud','unblockable']) - AWARDS_DISABLED.extend(['unblockable']) - AWARDS_DISABLED.remove('ghost') if not FEATURES['MARSEYBUX']: AWARDS_DISABLED.append('benefactor') diff --git a/files/helpers/config/const.py b/files/helpers/config/const.py index c45c396ef..97c10290e 100644 --- a/files/helpers/config/const.py +++ b/files/helpers/config/const.py @@ -278,7 +278,6 @@ PERMS = { # Minimum admin_level to perform action. 'VIEW_LAST_ACTIVE': 2, 'VIEW_PATRONS': 3, # note: extra check for Aevann, carp, or snakes 'VIEW_VOTE_BUTTONS_ON_USER_PAGE': 2, - 'PRINT_MARSEYBUX_FOR_KIPPY_ON_PCMEMES': 3, # note: explicitly disabled on rDrama 'SITE_BYPASS_READ_ONLY_MODE': 1, 'SITE_BYPASS_UNDER_SIEGE_MODE': 1, 'SITE_SETTINGS': 3, @@ -298,7 +297,6 @@ PERMS = { # Minimum admin_level to perform action. 'NOTIFICATIONS_SPECIFIC_WPD_COMMENTS': 1, 'MESSAGE_BLOCKED_USERS': 1, 'APPS_MODERATION': 3, - 'STREAMERS_MODERATION': 2, } FEATURES = { @@ -322,7 +320,6 @@ FEATURES = { 'REPOST_DETECTION': True, 'PATRON_ICONS': False, 'ASSET_SUBMISSIONS': False, - 'STREAMERS': False, } WERKZEUG_ERROR_DESCRIPTIONS = { @@ -437,8 +434,6 @@ AUTOJANNY_ID = 1 SNAPPY_ID = 2 LONGPOSTBOT_ID = 3 ZOZBOT_ID = 4 -BASEDBOT_ID = 0 -KIPPY_ID = 0 PIZZASHILL_ID = 0 IMPASSIONATA_ID = 0 CARP_ID = 0 @@ -494,7 +489,7 @@ TIERS_ID_TO_NAME = { 6: "Rich Bich", } -BADGE_BLACKLIST = { # only grantable by AEVANN_ID and SNAKES_ID except on PCM +BADGE_BLACKLIST = { # only grantable by AEVANN_ID and SNAKES_ID 1, 2, 6, 10, 11, 12, # Alpha, Verified Email, Beta, Recruiter x3 16, 17, 143, 21, 22, 23, 24, 25, 26, 27, # Marsey Artist x3 / Patron Tiers 94, 95, 96, 97, 98, 109, 67, 68, 83, 84, 87, 90, 179, 185, # Award Status except Y'all-seeing eye @@ -532,7 +527,6 @@ if SITE == 'rdrama.net': SNAPPY_ID = 261 LONGPOSTBOT_ID = 1832 ZOZBOT_ID = 1833 - KIPPY_ID = 7150 PIZZASHILL_ID = 2424 IMPASSIONATA_ID = 5800 CARP_ID = 995 @@ -554,7 +548,6 @@ if SITE == 'rdrama.net': 'snekchad': SNAKES_ID, 'jc': JUSTCOOL_ID, 'justcool': JUSTCOOL_ID, - 'kippy': KIPPY_ID, 'lawlz': LAWLZ_ID, 'transgirltradwife': TGTW_ID, 'impassionata': IMPASSIONATA_ID, @@ -596,48 +589,6 @@ if SITE == 'rdrama.net': POLL_THREAD = 79285 WELCOME_MSG = "Hi there! It's me, your soon-to-be favorite rDrama user @carpathianflorist here to give you a brief rundown on some of the sick features we have here. You'll probably want to start by following me, though. So go ahead and click my name and then smash that Follow button. This is actually really important, so go on. Hurry.\n\nThanks!\n\nNext up: If you're a member of the media, similarly just shoot me a DM and I'll set about verifying you and then we can take care of your sad journalism stuff.\n\n**FOR EVERYONE ELSE**\n\n Begin by navigating to [the settings page](/settings/profile) (we'll be prettying this up so it's less convoluted soon, don't worry) and getting some basic customization done.\n\n### Themes\n\nDefinitely change your theme right away, the default one (Midnight) is pretty enough, but why not use something *exotic* like Win98, or *flashy* like Tron? Even Coffee is super tasteful and way more fun than the default. More themes to come when we get around to it!\n\n### Avatar/pfp\n\nYou'll want to set this pretty soon. Set the banner too while you're at it. Your profile is important!\n\n### Flairs\n\nSince you're already on the settings page, you may as well set a flair, too. As with your username, you can - obviously - choose the color of this, either with a hex value or just from the preset colors. And also like your username, you can change this at any time. Paypigs can even further relive the glory days of 90s-00s internet and set obnoxious signatures.\n\n### PROFILE ANTHEMS\n\nSpeaking of profiles, hey, remember MySpace? Do you miss autoplaying music assaulting your ears every time you visited a friend's page? Yeah, we brought that back. Enter a YouTube URL, wait a few seconds for it to process, and then BAM! you've got a profile anthem which people cannot mute. Unless they spend 20,000 dramacoin in the shop for a mute button. Which you can then remove from your profile by spending 40,000 dramacoin on an unmuteable anthem. Get fucked poors!\n\n### Dramacoin?\n\nDramacoin is basically our take on the karma system. Except unlike the karma system, it's not gay and boring and stupid and useless. Dramacoin can be spent at [Marsey's Dramacoin Emporium](/shop) on upgrades to your user experience (many more coming than what's already listed there), and best of all on tremendously annoying awards to fuck with your fellow dramautists. We're always adding more, so check back regularly in case you happen to miss one of the announcement posts.\n\nLike karma, dramacoin is obtained by getting upvotes on your threads and comments. *Unlike* karma, it's also obtained by getting downvotes on your threads and comments. Downvotes don't really do anything here - they pay the same amount of dramacoin and they increase thread/comment ranking just the same as an upvote. You just use them to express petty disapproval and hopefully start a fight. Because all votes are visible here. To hell with your anonymity.\n\nDramacoin can also be traded amongst users from their profiles. Note that there is a 3% transaction fee.\n\n### Badges\n\nRemember all those neat little metallic icons you saw on my profile when you were following me? If not, scroll back up and go have a look. And doublecheck to make sure you pressed the Follow button. Anyway, those are badges. You earn them by doing a variety of things. Some of them even offer benefits, like discounts at the shop. A [complete list of badges and their requirements can be found here](/badges), though I add more pretty regularly, so keep an eye on the [changelog](/h/changelog).\n\n### Other stuff\n\nWe're always adding new features, and we take a fun-first approach to development. If you have a suggestion for something that would be fun, funny, annoying - or best of all, some combination of all three - definitely make a thread about it. Or just DM me if you're shy. Weirdo. Anyway there's also the [leaderboards](/leaderboard), boring stuff like two-factor authentication you can toggle on somewhere in the settings page (psycho), the ability to save posts and comments, more than a thousand emojis already (most of which are rDrama originals), and on and on and on and on. This is just the basics, mostly to help you get acquainted with some of the things you can do here to make it more easy on the eyes, customizable, and enjoyable. If you don't enjoy it, just go away! We're not changing things to suit you! Get out of here loser! And no, you can't delete your account :na:\n\nI love you.
*xoxo Carp* 💋" -elif SITE == 'pcmemes.net': - TRUESCORE_CLUB_MINIMUM = 5000 - PIN_LIMIT = 10 - FEATURES['REPOST_DETECTION'] = False - FEATURES['STREAMERS'] = True - - PERMS['SITE_SETTINGS'] = 2 - PERMS['SITE_SETTINGS_UNDER_ATTACK'] = 2 - PERMS['SITE_CACHE_PURGE_CDN'] = 2 - PERMS['SITE_CACHE_DUMP_INTERNAL'] = 2 - - ERROR_MSGS[500] = "Hiiiii it's nigger! I think this error means that there's a nigger error. And I think that means something took too long to load so it decided to be a nigger. If you keep seeing this on the same page but not other pages, then something its probably a niggerfaggot. It may not be called a nigger, but that sounds right to me. Anyway, ping me and I'll whine to someone smarter to fix it. Don't bother them. Thanks ily <3" - ERROR_MARSEYS[500] = "wholesome" - POST_RATE_LIMIT = '1/second;4/minute;20/hour;100/day' - - HOLE_COST = 2000 - - AUTOJANNY_ID = 1046 - SNAPPY_ID = 261 - LONGPOSTBOT_ID = 1832 - ZOZBOT_ID = 1833 - BASEDBOT_ID = 800 - - KIPPY_ID = 1592 - GIFT_NOTIF_ID = KIPPY_ID - SIGNUP_FOLLOW_ID = KIPPY_ID - NOTIFICATION_THREAD = 2487 - CARP_ID = 13 - AEVANN_ID = 1 - SNAKES_ID = 2279 - - WELCOME_MSG = "Welcome to pcmemes.net! Don't forget to turn off the slur filter [here](/settings/content#slurreplacer)" - - LOTTERY_TICKET_COST = 12 - LOTTERY_SINK_RATE = -138 - - BANNER_THREAD = 28307 - - MAX_IMAGE_AUDIO_SIZE_MB_PATRON = 100 - MAX_VIDEO_SIZE_MB_PATRON = 100 - - BADGE_BLACKLIST = set() elif SITE == 'watchpeopledie.tv': PIN_LIMIT = 4 WELCOME_MSG = """Hi, you! Welcome to WatchPeopleDie.tv, this really cool site where you can go to watch people die. I'm @CLiTPEELER! If you have any questions about how things work here, or suggestions on how to make them work better than they already do, definitely slide on into my DMs (no fat chicks).\nThere's an enormously robust suite of fun features we have here and we're always looking for more to add. Way, way too many to go over in an automated welcome message. And you're probably here for the videos of people dying more than any sort of weird, paradoxical digital community aspect anyway, so I won't bore you with a tedious overview of them. Just head on over to [your settings page](https://watchpeopledie.tv/settings/profile) and have a look at some of the basic profile stuff, at least. You can change your profile picture, username, flair, colors, banners, bio, profile anthem (autoplaying song on your page, like it's MySpace or some shit, hell yeah), CSS, all sorts of things.\nOr you can just go back to the main feed and carry on with watching people die. That's what the site is for, after all. Have fun!\nAnyway, in closing, WPD is entirely open source. We don't really need new full-time coders or anything, but if you'd like to take a look at our repo - or even submit a PR to change, fix, or add some things - go right ahead! Our codebase lives at https://fsdfsd.net/rDrama/rDrama\nWell, that's all. Thanks again for signing up. It's an automated message and all, but I really do mean that. Thank you, specifically. I love you. Romantically. Deeply. Passionately.\nHave fun!""" @@ -715,7 +666,6 @@ else: # localhost or testing environment implied FEATURES['PRONOUNS'] = True FEATURES['HOUSES'] = True FEATURES['USERS_PERMANENT_WORD_FILTERS'] = True - FEATURES['STREAMERS'] = True SUB_BANNER_LIMIT = 69420 patron = "Patron" @@ -724,7 +674,7 @@ if SITE_NAME == 'rDrama': HOUSES = ("None","Furry","Femboy","Vampire","Racist") if FEATURES['HOUSES'] else ("None") -bots = {AUTOJANNY_ID, SNAPPY_ID, LONGPOSTBOT_ID, ZOZBOT_ID, BASEDBOT_ID} +bots = {AUTOJANNY_ID, SNAPPY_ID, LONGPOSTBOT_ID, ZOZBOT_ID} COLORS = {'ff66ac','805ad5','62ca56','38a169','80ffff','2a96f3','eb4963','ff0000','f39731','30409f','3e98a7','e4432d','7b9ae4','ec72de','7f8fa6', 'f8db58','8cdbe6', DEFAULT_COLOR} @@ -803,7 +753,6 @@ approved_embed_hosts = { SITE, 'rdrama.net', BAN_EVASION_DOMAIN, - 'pcmemes.net', 'watchpeopledie.tv', 'fsdfsd.net', @@ -906,8 +855,8 @@ if SITE_NAME == 'rDrama': BOOSTED_SITES = { 'rdrama.net', BAN_EVASION_DOMAIN, - 'pcmemes.net', 'watchpeopledie.tv', + 'pcmemes.net', 'themotte.org', 'quora.com', 'cumtown.org', diff --git a/files/helpers/const_stateful.py b/files/helpers/const_stateful.py index 7d26ea02d..367996ba6 100644 --- a/files/helpers/const_stateful.py +++ b/files/helpers/const_stateful.py @@ -29,8 +29,7 @@ def _initialize_marseys(db:scoped_session): def _initialize_snappy_marseys_and_quotes(): global SNAPPY_MARSEYS, SNAPPY_QUOTES - if SITE_NAME != 'PCM': - SNAPPY_MARSEYS = [f':#{x}:' for x in marseys_const2] + SNAPPY_MARSEYS = [f':#{x}:' for x in marseys_const2] filename = f"snappy_{SITE_NAME}.txt" if HOLIDAY_EVENT: filename = f"snappy_event.txt" diff --git a/files/helpers/cron.py b/files/helpers/cron.py index 6f8f65f04..c8b7abe25 100644 --- a/files/helpers/cron.py +++ b/files/helpers/cron.py @@ -9,7 +9,6 @@ import files.helpers.awards as awards import files.helpers.offsitementions as offsitementions import files.helpers.stats as stats import files.routes.static as route_static -import files.routes.streamers as route_streamers from files.__main__ import cache from files.classes import * from files.helpers.alerts import send_repeatable_notification @@ -33,8 +32,6 @@ def cron(every_5m, every_1h, every_1d, every_1mo): check_if_end_lottery_task() spin_roulette_wheel() offsitementions.offsite_mentions_task(cache) - if FEATURES['STREAMERS']: - route_streamers.live_cached() if every_1h: awards.award_timers_bots_task() diff --git a/files/helpers/regex.py b/files/helpers/regex.py index 6bdb87741..e0fe9a695 100644 --- a/files/helpers/regex.py +++ b/files/helpers/regex.py @@ -34,8 +34,6 @@ html_comment_regex = re.compile("", flags=re.A) title_regex = re.compile("[^\w ]", flags=re.A) -based_regex = re.compile("based and (.{1,20}?)(-| )pilled", flags=re.I|re.A) - controversial_regex = re.compile('["> ](https:\/\/old\.reddit\.com/r/[a-zA-Z0-9_]{3,20}\/comments\/[\w\-.#&/=\?@%+]{5,250})["< ]', flags=re.A) fishylinks_regex = re.compile("https?://\S+", flags=re.A) diff --git a/files/routes/__init__.py b/files/routes/__init__.py index e29775253..1fd42379a 100644 --- a/files/routes/__init__.py +++ b/files/routes/__init__.py @@ -45,7 +45,5 @@ if FEATURES['HATS']: from .hats import * if FEATURES['ASSET_SUBMISSIONS']: from .asset_submissions import * -if FEATURES['STREAMERS']: - from .streamers import * from .special import * from .push_notifs import * diff --git a/files/routes/admin.py b/files/routes/admin.py index 45f29453b..1d4565d7f 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -20,15 +20,6 @@ from files.routes.wrappers import * from .front import frontlist -@app.post('/kippy') -@admin_level_required(PERMS['PRINT_MARSEYBUX_FOR_KIPPY_ON_PCMEMES']) -def kippy(v): - if SITE != 'pcmemes.net': abort(404) - kippy = get_account(KIPPY_ID) - kippy.pay_account('marseybux', 50000) - g.db.add(kippy) - return '50k marseybux printed!' - @app.get('/admin/loggedin') @admin_level_required(PERMS['VIEW_ACTIVE_USERS']) def loggedin_list(v): diff --git a/files/routes/comments.py b/files/routes/comments.py index 2423e3c38..4bf5275da 100644 --- a/files/routes/comments.py +++ b/files/routes/comments.py @@ -166,7 +166,7 @@ def comment(v:User): if post_target.id == SIDEBAR_THREAD: process_sidebar_or_banner('sidebar', 400) elif post_target.id == BANNER_THREAD: - banner_width = 1200 if not SITE_NAME == 'PCM' else 0 + banner_width = 1200 process_sidebar_or_banner('banners', banner_width) elif post_target.id == BADGE_THREAD: try: @@ -225,9 +225,7 @@ def comment(v:User): if len(body_html) > COMMENT_BODY_HTML_LENGTH_LIMIT: abort(400) - is_bot = (v.client is not None - and v.id not in PRIVILEGED_USER_BOTS - or (SITE == 'pcmemes.net' and v.id == SNAPPY_ID)) + is_bot = v.client is not None and v.id not in PRIVILEGED_USER_BOTS c = Comment(author_id=v.id, parent_submission=post_target.id if posting_to_submission else None, @@ -255,8 +253,6 @@ def comment(v:User): process_poll_options(c, CommentOption, options, 0, "Poll", g.db) process_poll_options(c, CommentOption, choices, 1, "Poll", g.db) - execute_basedbot(c, level, body, post_target, v) - if post_target.id not in ADMIGGER_THREADS and v.agendaposter and not v.marseyawarded and AGENDAPOSTER_PHRASE not in c.body.lower() and not (posting_to_submission and post_target.sub == 'chudrama'): c.is_banned = True c.ban_reason = "AutoJanny" diff --git a/files/routes/login.py b/files/routes/login.py index 34ae533e2..43cd81045 100644 --- a/files/routes/login.py +++ b/files/routes/login.py @@ -336,10 +336,6 @@ def sign_up_post(v:Optional[User]): elif CARP_ID: send_notification(CARP_ID, f"A new user - @{new_user.username} - has signed up!") - if SITE == 'pcmemes.net': - for id in [1706, 1550, 1701]: - send_notification(id, f"A new user - @{new_user.username} - has signed up!") - redir = request.values.get("redirect", "").strip().rstrip('?').lower() if redir: if is_site_url(redir) or redir not in NO_LOGIN_REDIRECT_URLS: diff --git a/files/routes/streamers.py b/files/routes/streamers.py deleted file mode 100644 index 2774543bb..000000000 --- a/files/routes/streamers.py +++ /dev/null @@ -1,174 +0,0 @@ -import re - -import requests - -from files.classes.streamers import Streamer -from files.helpers.alerts import send_repeatable_notification -from files.helpers.config.const import * -from files.routes.wrappers import * -from files.__main__ import app, cache - -id_regex = re.compile('"externalId":"([^"]*?)"', flags=re.A) -live_regex = re.compile('playerOverlayVideoDetailsRenderer":\{"title":\{"simpleText":"(.*?)"\},"subtitle":\{"runs":\[\{"text":"(.*?)"\},\{"text":" • "\},\{"text":"(.*?)"\}', flags=re.A) -live_thumb_regex = re.compile('\{"thumbnail":\{"thumbnails":\[\{"url":"(.*?)"', flags=re.A) -offline_regex = re.compile('","title":"(.*?)".*?"width":48,"height":48\},\{"url":"(.*?)"', flags=re.A) -offline_details_regex = re.compile('simpleText":"Streamed ([0-9]*?) ([^"]*?)"\},.*?"viewCountText":\{"simpleText":"([0-9,]*?) views"', flags=re.A) - -def process_streamer(id, live='live'): - url = f'https://www.youtube.com/channel/{id}/{live}' - req = requests.get(url, cookies={'CONSENT': 'YES+1'}, timeout=5) - text = req.text - if '"videoDetails":{"videoId"' in text: - y = live_regex.search(text) - count = y.group(3) - - if count == '1 watching now': - count = "1" - - if 'waiting' in count: - if live != '': - return process_streamer(id, '') - else: - return None - - count = int(count.replace(',', '')) - - t = live_thumb_regex.search(text) - - thumb = t.group(1) - name = y.group(2) - title = y.group(1) - - return (True, (id, req.url, thumb, name, title, count)) - else: - t = offline_regex.search(text) - if not t: - if live != '': - return process_streamer(id, '') - else: - return None - - y = offline_details_regex.search(text) - - if y: - views = y.group(3).replace(',', '') - quantity = int(y.group(1)) - unit = y.group(2) - - if unit.startswith('second'): - modifier = 1/60 - elif unit.startswith('minute'): - modifier = 1 - elif unit.startswith('hour'): - modifier = 60 - elif unit.startswith('day'): - modifier = 1440 - elif unit.startswith('week'): - modifier = 10080 - elif unit.startswith('month'): - modifier = 43800 - elif unit.startswith('year'): - modifier = 525600 - - minutes = quantity * modifier - - actual = f'{quantity} {unit}' - else: - minutes = 9999999999 - actual = '???' - views = 0 - - thumb = t.group(2) - - name = t.group(1) - - return (False, (id, req.url.rstrip('/live'), thumb, name, minutes, actual, views)) - - -def live_cached(): - live = [] - offline = [] - db = db_session() - streamers = [x[0] for x in db.query(Streamer.id).all()] - db.close() - for id in streamers: - processed = process_streamer(id) - if processed: - if processed[0]: live.append(processed[1]) - else: offline.append(processed[1]) - - live = sorted(live, key=lambda x: x[5], reverse=True) - offline = sorted(offline, key=lambda x: x[4]) - - if live: cache.set('live', live) - if offline: cache.set('offline', offline) - - -@app.get('/live') -@auth_desired_with_logingate -def live_list(v): - live = cache.get('live') or [] - offline = cache.get('offline') or [] - - return render_template('live.html', v=v, live=live, offline=offline) - -@app.post('/live/add') -@admin_level_required(PERMS['STREAMERS_MODERATION']) -def live_add(v): - link = request.values.get('link').strip() - - if 'youtube.com/channel/' in link: - id = link.split('youtube.com/channel/')[1].rstrip('/') - else: - text = requests.get(link, cookies={'CONSENT': 'YES+1'}, timeout=5).text - try: id = id_regex.search(text).group(1) - except: abort(400, "Invalid ID") - - live = cache.get('live') or [] - offline = cache.get('offline') or [] - - if not id or len(id) != 24: - abort(400, "Invalid ID") - - existing = g.db.get(Streamer, id) - if not existing: - streamer = Streamer(id=id) - g.db.add(streamer) - g.db.flush() - if v.id != KIPPY_ID: - send_repeatable_notification(KIPPY_ID, f"@{v.username} (a site admin) has added a [new YouTube channel](https://www.youtube.com/channel/{streamer.id})") - - processed = process_streamer(id) - if processed: - if processed[0]: live.append(processed[1]) - else: offline.append(processed[1]) - - live = sorted(live, key=lambda x: x[5], reverse=True) - offline = sorted(offline, key=lambda x: x[4]) - - if live: cache.set('live', live) - if offline: cache.set('offline', offline) - - return redirect('/live') - -@app.post('/live/remove') -@admin_level_required(PERMS['STREAMERS_MODERATION']) -def live_remove(v): - id = request.values.get('id').strip() - if not id: abort(400) - streamer = g.db.get(Streamer, id) - if streamer: - if v.id != KIPPY_ID: - send_repeatable_notification(KIPPY_ID, f"@{v.username} (a site admin) has removed a [YouTube channel](https://www.youtube.com/channel/{streamer.id})") - g.db.delete(streamer) - - live = cache.get('live') or [] - offline = cache.get('offline') or [] - - live = [x for x in live if x[0] != id] - offline = [x for x in offline if x[0] != id] - - if live: cache.set('live', live) - if offline: cache.set('offline', offline) - - return redirect('/live') diff --git a/files/templates/admin/admin_home.html b/files/templates/admin/admin_home.html index 6468f608a..6eee66f4d 100644 --- a/files/templates/admin/admin_home.html +++ b/files/templates/admin/admin_home.html @@ -122,9 +122,6 @@ {% endif %}
- {% if SITE == 'pcmemes.net' and v.admin_level >= PERMS['PRINT_MARSEYBUX_FOR_KIPPY_ON_PCMEMES'] %} - - {% endif %} {% endif %} {% if v.admin_level >= PERMS['SITE_CACHE_PURGE_CDN'] or v.admin_level >= PERMS['SITE_CACHE_DUMP_INTERNAL'] %} diff --git a/files/templates/awards.html b/files/templates/awards.html index aca2b9963..01e9f26f8 100644 --- a/files/templates/awards.html +++ b/files/templates/awards.html @@ -10,7 +10,7 @@ {% endmacro %} {% if p.award_count("wholesome", v) %} - {% set wholesome = '/i/wholesome.webp' if SITE_NAME == 'PCM' else '/e/marseywholesome.webp' %} + {% set wholesome = '/e/marseywholesome.webp' %} {{ stackable_award('wholesome', wholesome, ':#marseywholesome:') }} {% endif %} @@ -75,8 +75,4 @@ {% endif %} -{% if SITE_NAME == 'PCM' %} - {% include "awards_PCM.html" %} -{% endif %} - diff --git a/files/templates/awards_PCM.html b/files/templates/awards_PCM.html deleted file mode 100644 index 6de894d6c..000000000 --- a/files/templates/awards_PCM.html +++ /dev/null @@ -1,63 +0,0 @@ -{% if p.award_count("croag", v) %} - {{ stackable_award('croag', '/i/PCM/croag.webp', 'croag') }} -{% endif %} - -{% if p.award_count("toe", v) %} - {{ stackable_award('toe', '/i/PCM/toe.webp', "Blade's toe") }} -{% endif %} - -{% if p.award_count("crab", v) %} - -{% endif %} - - diff --git a/files/templates/default.html b/files/templates/default.html index c07202496..4c400f557 100644 --- a/files/templates/default.html +++ b/files/templates/default.html @@ -16,8 +16,6 @@ {% elif SITE_NAME == "rDrama" %} {% set href = "https://secure.transequality.org/site/Donation2?df_id=1480" %} {% set expand = false %} - {% elif SITE_NAME == 'PCM' %}{# special case: christmas #} - {% set src = "/i/PCM/banners_xmas22/" ~ listdir('files/assets/images/PCM/banners_xmas22')|random() %} {% endif %} {% if SITE_NAME == "WPD" %} diff --git a/files/templates/donate_PCM.html b/files/templates/donate_PCM.html deleted file mode 100644 index e2a162240..000000000 --- a/files/templates/donate_PCM.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "default.html" %} -{% block pagetitle %}Donate{% endblock %} -{% block content %} -

Donate

-
- - - - - - - - - - - - - - - - - - - -
Gumroad (subscription){{GUMROAD_LINK}}
Gumroad (one-time)https://kippy.gumroad.com/l/onetime
Ethereum/Brave Attention Token0xA02660a8898503F9B7d1aaF597eD62670C86D492
ADAaddr1v99u4l8hkdhv48g6ytqxwchavy86paxk55n6nsemleaaqncknae7w
-
-{% endblock %} diff --git a/files/templates/errors/PCM/502.html b/files/templates/errors/PCM/502.html deleted file mode 100644 index 67ff672c6..000000000 --- a/files/templates/errors/PCM/502.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - 502 Bad Gateway - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - site banner - - - - -
-
-
-
-
-
- :#marseycapysorenjump2: -
502 Bad Gateway
-

- aevann is probably restarting server or sum shit, just keep refreshing lmao -

- -
-
-
-
-
-
- - diff --git a/files/templates/event/sidebar_PCM.html b/files/templates/event/sidebar_PCM.html deleted file mode 100644 index b5697d6b9..000000000 --- a/files/templates/event/sidebar_PCM.html +++ /dev/null @@ -1,60 +0,0 @@ - - -{% include "event/music.html" %} diff --git a/files/templates/header.html b/files/templates/header.html index 3f9fd99c8..3ccef382b 100644 --- a/files/templates/header.html +++ b/files/templates/header.html @@ -115,10 +115,6 @@ {% endif %} - {% if SITE_NAME == 'PCM' %} - - {% endif %} - {% if v %} {% if v.notifications_count %} {{v.notifications_count}} @@ -153,12 +149,6 @@