remove pcm from code

pull/83/head
Aevann1 2022-12-21 14:42:41 +02:00
parent c1892dd8fe
commit 3ae5292ce4
85 changed files with 10 additions and 1474 deletions

View File

@ -889,7 +889,6 @@
{"name":"gigachad3", "tags": ["chad"], "class":"Misc"}, {"name":"gigachad3", "tags": ["chad"], "class":"Misc"},
{"name":"gigachad4", "tags": ["chad"], "class":"Misc"}, {"name":"gigachad4", "tags": ["chad"], "class":"Misc"},
{"name":"pedobear", "class":"Misc"}, {"name":"pedobear", "class":"Misc"},
{"name":"kippy","class":"Misc"},
{"name":"onerat","class":"Misc"}, {"name":"onerat","class":"Misc"},
{"name":"bitchhaditcomin","class":"Misc"}, {"name":"bitchhaditcomin","class":"Misc"},
{"name":"duckdance", "class":"Misc"}, {"name":"duckdance", "class":"Misc"},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -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"
}
]
}

View File

@ -33,6 +33,4 @@ if KOFI_TOKEN:
from .transactions import * from .transactions import *
from .sub_logs import * from .sub_logs import *
from .media import * from .media import *
if FEATURES['STREAMERS']:
from .streamers import *
from .push_subscriptions import * from .push_subscriptions import *

View File

@ -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})>"

View File

@ -37,10 +37,6 @@ from .userblock import *
class User(Base): class User(Base):
__tablename__ = "users" __tablename__ = "users"
if SITE == "pcmemes.net":
basedcount = Column(Integer, default=0)
pills = deferred(Column(String, default=""))
id = Column(Integer, primary_key=True) id = Column(Integer, primary_key=True)
username = Column(String) username = Column(String)
namecolor = Column(String, default=DEFAULT_COLOR) namecolor = Column(String, default=DEFAULT_COLOR)

View File

@ -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) n = Notification(comment_id=c2.id, user_id=v.id)
g.db.add(n) 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): def execute_antispam_submission_check(title, v, url):
now = int(time.time()) now = int(time.time())
cutoff = now - 60 * 60 * 24 cutoff = now - 60 * 60 * 24

View File

@ -605,41 +605,6 @@ if SITE_NAME != 'rDrama':
} }
AWARDS.update(EXTRA_AWARDS) 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. # Permit only cosmetics and pin/unpin on ghosted things.
for award in AWARDS: for award in AWARDS:
AWARDS[award]['ghost'] = AWARDS[award]['cosmetic'] AWARDS[award]['ghost'] = AWARDS[award]['cosmetic']
@ -715,11 +680,6 @@ for k, val in temp:
if SITE_NAME != 'rDrama': if SITE_NAME != 'rDrama':
AWARDS_DISABLED.append('progressivestack') 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']: if not FEATURES['MARSEYBUX']:
AWARDS_DISABLED.append('benefactor') AWARDS_DISABLED.append('benefactor')

View File

@ -278,7 +278,6 @@ PERMS = { # Minimum admin_level to perform action.
'VIEW_LAST_ACTIVE': 2, 'VIEW_LAST_ACTIVE': 2,
'VIEW_PATRONS': 3, # note: extra check for Aevann, carp, or snakes 'VIEW_PATRONS': 3, # note: extra check for Aevann, carp, or snakes
'VIEW_VOTE_BUTTONS_ON_USER_PAGE': 2, '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_READ_ONLY_MODE': 1,
'SITE_BYPASS_UNDER_SIEGE_MODE': 1, 'SITE_BYPASS_UNDER_SIEGE_MODE': 1,
'SITE_SETTINGS': 3, 'SITE_SETTINGS': 3,
@ -298,7 +297,6 @@ PERMS = { # Minimum admin_level to perform action.
'NOTIFICATIONS_SPECIFIC_WPD_COMMENTS': 1, 'NOTIFICATIONS_SPECIFIC_WPD_COMMENTS': 1,
'MESSAGE_BLOCKED_USERS': 1, 'MESSAGE_BLOCKED_USERS': 1,
'APPS_MODERATION': 3, 'APPS_MODERATION': 3,
'STREAMERS_MODERATION': 2,
} }
FEATURES = { FEATURES = {
@ -322,7 +320,6 @@ FEATURES = {
'REPOST_DETECTION': True, 'REPOST_DETECTION': True,
'PATRON_ICONS': False, 'PATRON_ICONS': False,
'ASSET_SUBMISSIONS': False, 'ASSET_SUBMISSIONS': False,
'STREAMERS': False,
} }
WERKZEUG_ERROR_DESCRIPTIONS = { WERKZEUG_ERROR_DESCRIPTIONS = {
@ -437,8 +434,6 @@ AUTOJANNY_ID = 1
SNAPPY_ID = 2 SNAPPY_ID = 2
LONGPOSTBOT_ID = 3 LONGPOSTBOT_ID = 3
ZOZBOT_ID = 4 ZOZBOT_ID = 4
BASEDBOT_ID = 0
KIPPY_ID = 0
PIZZASHILL_ID = 0 PIZZASHILL_ID = 0
IMPASSIONATA_ID = 0 IMPASSIONATA_ID = 0
CARP_ID = 0 CARP_ID = 0
@ -494,7 +489,7 @@ TIERS_ID_TO_NAME = {
6: "Rich Bich", 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 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 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 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 SNAPPY_ID = 261
LONGPOSTBOT_ID = 1832 LONGPOSTBOT_ID = 1832
ZOZBOT_ID = 1833 ZOZBOT_ID = 1833
KIPPY_ID = 7150
PIZZASHILL_ID = 2424 PIZZASHILL_ID = 2424
IMPASSIONATA_ID = 5800 IMPASSIONATA_ID = 5800
CARP_ID = 995 CARP_ID = 995
@ -554,7 +548,6 @@ if SITE == 'rdrama.net':
'snekchad': SNAKES_ID, 'snekchad': SNAKES_ID,
'jc': JUSTCOOL_ID, 'jc': JUSTCOOL_ID,
'justcool': JUSTCOOL_ID, 'justcool': JUSTCOOL_ID,
'kippy': KIPPY_ID,
'lawlz': LAWLZ_ID, 'lawlz': LAWLZ_ID,
'transgirltradwife': TGTW_ID, 'transgirltradwife': TGTW_ID,
'impassionata': IMPASSIONATA_ID, 'impassionata': IMPASSIONATA_ID,
@ -596,48 +589,6 @@ if SITE == 'rdrama.net':
POLL_THREAD = 79285 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.<br>*xoxo Carp* 💋" 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.<br>*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 <b>nigger</b>! I think this error means that there's a <b>nigger</b> error. And I think that means something took too long to load so it decided to be a <b>nigger</b>. If you keep seeing this on the same page but not other pages, then something its probably a <b>niggerfaggot</b>. It may not be called a <b>nigger</b>, 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 &lt;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': elif SITE == 'watchpeopledie.tv':
PIN_LIMIT = 4 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!""" 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['PRONOUNS'] = True
FEATURES['HOUSES'] = True FEATURES['HOUSES'] = True
FEATURES['USERS_PERMANENT_WORD_FILTERS'] = True FEATURES['USERS_PERMANENT_WORD_FILTERS'] = True
FEATURES['STREAMERS'] = True
SUB_BANNER_LIMIT = 69420 SUB_BANNER_LIMIT = 69420
patron = "Patron" patron = "Patron"
@ -724,7 +674,7 @@ if SITE_NAME == 'rDrama':
HOUSES = ("None","Furry","Femboy","Vampire","Racist") if FEATURES['HOUSES'] else ("None") 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} 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, SITE,
'rdrama.net', 'rdrama.net',
BAN_EVASION_DOMAIN, BAN_EVASION_DOMAIN,
'pcmemes.net',
'watchpeopledie.tv', 'watchpeopledie.tv',
'fsdfsd.net', 'fsdfsd.net',
@ -906,8 +855,8 @@ if SITE_NAME == 'rDrama':
BOOSTED_SITES = { BOOSTED_SITES = {
'rdrama.net', 'rdrama.net',
BAN_EVASION_DOMAIN, BAN_EVASION_DOMAIN,
'pcmemes.net',
'watchpeopledie.tv', 'watchpeopledie.tv',
'pcmemes.net',
'themotte.org', 'themotte.org',
'quora.com', 'quora.com',
'cumtown.org', 'cumtown.org',

View File

@ -29,8 +29,7 @@ def _initialize_marseys(db:scoped_session):
def _initialize_snappy_marseys_and_quotes(): def _initialize_snappy_marseys_and_quotes():
global SNAPPY_MARSEYS, SNAPPY_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" filename = f"snappy_{SITE_NAME}.txt"
if HOLIDAY_EVENT: filename = f"snappy_event.txt" if HOLIDAY_EVENT: filename = f"snappy_event.txt"

View File

@ -9,7 +9,6 @@ import files.helpers.awards as awards
import files.helpers.offsitementions as offsitementions import files.helpers.offsitementions as offsitementions
import files.helpers.stats as stats import files.helpers.stats as stats
import files.routes.static as route_static import files.routes.static as route_static
import files.routes.streamers as route_streamers
from files.__main__ import cache from files.__main__ import cache
from files.classes import * from files.classes import *
from files.helpers.alerts import send_repeatable_notification 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() check_if_end_lottery_task()
spin_roulette_wheel() spin_roulette_wheel()
offsitementions.offsite_mentions_task(cache) offsitementions.offsite_mentions_task(cache)
if FEATURES['STREAMERS']:
route_streamers.live_cached()
if every_1h: if every_1h:
awards.award_timers_bots_task() awards.award_timers_bots_task()

View File

@ -34,8 +34,6 @@ html_comment_regex = re.compile("<!--.*-->", flags=re.A)
title_regex = re.compile("[^\w ]", 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) 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) fishylinks_regex = re.compile("https?://\S+", flags=re.A)

View File

@ -45,7 +45,5 @@ if FEATURES['HATS']:
from .hats import * from .hats import *
if FEATURES['ASSET_SUBMISSIONS']: if FEATURES['ASSET_SUBMISSIONS']:
from .asset_submissions import * from .asset_submissions import *
if FEATURES['STREAMERS']:
from .streamers import *
from .special import * from .special import *
from .push_notifs import * from .push_notifs import *

View File

@ -20,15 +20,6 @@ from files.routes.wrappers import *
from .front import frontlist 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') @app.get('/admin/loggedin')
@admin_level_required(PERMS['VIEW_ACTIVE_USERS']) @admin_level_required(PERMS['VIEW_ACTIVE_USERS'])
def loggedin_list(v): def loggedin_list(v):

View File

@ -166,7 +166,7 @@ def comment(v:User):
if post_target.id == SIDEBAR_THREAD: if post_target.id == SIDEBAR_THREAD:
process_sidebar_or_banner('sidebar', 400) process_sidebar_or_banner('sidebar', 400)
elif post_target.id == BANNER_THREAD: 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) process_sidebar_or_banner('banners', banner_width)
elif post_target.id == BADGE_THREAD: elif post_target.id == BADGE_THREAD:
try: try:
@ -225,9 +225,7 @@ def comment(v:User):
if len(body_html) > COMMENT_BODY_HTML_LENGTH_LIMIT: abort(400) if len(body_html) > COMMENT_BODY_HTML_LENGTH_LIMIT: abort(400)
is_bot = (v.client is not None is_bot = v.client is not None and v.id not in PRIVILEGED_USER_BOTS
and v.id not in PRIVILEGED_USER_BOTS
or (SITE == 'pcmemes.net' and v.id == SNAPPY_ID))
c = Comment(author_id=v.id, c = Comment(author_id=v.id,
parent_submission=post_target.id if posting_to_submission else None, 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, options, 0, "Poll", g.db)
process_poll_options(c, CommentOption, choices, 1, "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'): 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.is_banned = True
c.ban_reason = "AutoJanny" c.ban_reason = "AutoJanny"

View File

@ -336,10 +336,6 @@ def sign_up_post(v:Optional[User]):
elif CARP_ID: elif CARP_ID:
send_notification(CARP_ID, f"A new user - @{new_user.username} - has signed up!") 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() redir = request.values.get("redirect", "").strip().rstrip('?').lower()
if redir: if redir:
if is_site_url(redir) or redir not in NO_LOGIN_REDIRECT_URLS: if is_site_url(redir) or redir not in NO_LOGIN_REDIRECT_URLS:

View File

@ -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')

View File

@ -122,9 +122,6 @@
</div> </div>
{% endif %} {% endif %}
<br> <br>
{% if SITE == 'pcmemes.net' and v.admin_level >= PERMS['PRINT_MARSEYBUX_FOR_KIPPY_ON_PCMEMES'] %}
<button type="button" class="btn btn-primary" onclick="postToastSwitch(this,'/kippy');" style="margin-bottom: 2em;">Print 10k Marseybux</button>
{% endif %}
{% endif %} {% endif %}
{% if v.admin_level >= PERMS['SITE_CACHE_PURGE_CDN'] or v.admin_level >= PERMS['SITE_CACHE_DUMP_INTERNAL'] %} {% if v.admin_level >= PERMS['SITE_CACHE_PURGE_CDN'] or v.admin_level >= PERMS['SITE_CACHE_DUMP_INTERNAL'] %}

View File

@ -10,7 +10,7 @@
{% endmacro %} {% endmacro %}
{% if p.award_count("wholesome", v) %} {% 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:') }} {{ stackable_award('wholesome', wholesome, ':#marseywholesome:') }}
{% endif %} {% endif %}
@ -75,8 +75,4 @@
</style> </style>
{% endif %} {% endif %}
{% if SITE_NAME == 'PCM' %}
{% include "awards_PCM.html" %}
{% endif %}
</div> </div>

View File

@ -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) %}
<script>
let audio = new Audio('/assets/media/crab.mp3');
audio.loop=true;
audio.play();
window.addEventListener('click', () => {
if (audio.paused) audio.play();
}, {once : true});
prepare_to_pause(audio)
</script>
{% endif %}
<style>
.toe img {
width: 100px !important;
height: auto !important;
}
@media (max-width: 992px) {
.toe img {
width: 30px !important;
height: auto !important;
}
}
.toe {animation: sealX 8s alternate; animation-delay: -1s}
.toe img {animation: sealY 11s alternate-reverse; animation-delay: -1s}
.toe:nth-child(even) {animation-direction: alternate-reverse}
.toe:nth-child(n+2):nth-child(n+3) img {animation-direction: alternate}
.croag img {
width: 169px !important;
height: 68px !important;
}
@media (max-width: 992px) {
.croag img {
width: 100px !important;
height: 40px !important;
}
}
.croag:nth-child(1) {top:2%}
.croag:nth-child(2) {top:27%}
.croag:nth-child(3) {top:52%}
.croag:nth-child(4) {top:77%}
.croag {margin-top:10vh; animation-delay:-1s !important}
.croag {animation: train 14s;}
.croag:nth-child(odd) {animation-direction: reverse;}
.croag:nth-child(odd) img {transform: scaleX(-1);}
</style>

View File

@ -16,8 +16,6 @@
{% elif SITE_NAME == "rDrama" %} {% elif SITE_NAME == "rDrama" %}
{% set href = "https://secure.transequality.org/site/Donation2?df_id=1480" %} {% set href = "https://secure.transequality.org/site/Donation2?df_id=1480" %}
{% set expand = false %} {% 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 %} {% endif %}
{% if SITE_NAME == "WPD" %} {% if SITE_NAME == "WPD" %}

View File

@ -1,27 +0,0 @@
{% extends "default.html" %}
{% block pagetitle %}Donate{% endblock %}
{% block content %}
<h1 class="py-3">Donate</h1>
<div class="overflow-x-auto">
<table class="table table-striped mb-5">
<tbody>
<tr>
<td>Gumroad (subscription)</td>
<td><a rel="nofollow noopener" href="{{GUMROAD_LINK}}">{{GUMROAD_LINK}}</a></td>
</tr>
<tr>
<td>Gumroad (one-time)</td>
<td><a rel="nofollow noopener" href="https://kippy.gumroad.com/l/onetime">https://kippy.gumroad.com/l/onetime</a></td>
</tr>
<tr>
<td>Ethereum/Brave Attention Token</td>
<td>0xA02660a8898503F9B7d1aaF597eD62670C86D492</td>
</tr>
<tr>
<td>ADA</td>
<td>addr1v99u4l8hkdhv48g6ytqxwchavy86paxk55n6nsemleaaqncknae7w</td>
</tr>
</tbody>
</table>
</div>
{% endblock %}

View File

@ -1,140 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="description" content="The true home of IP2.">
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; connect-src 'self'; object-src 'none';">
<style>
:root{--primary:#ff66ac}
.mod:before {
content: "(((";
}
.mod:after {
content: ")))";
}
body {
padding-top: 54px !important;
}
@media (max-width: 767.98px) {
body {
padding-top: 44px !important;
}
}
@media (min-width: 380px) {
#logo {
width: 100px;
margin-left: 0.5rem !important;
}
}
.pad {
padding-bottom: 7.4px;
padding-top: 7.4px;
}
</style>
<link rel="stylesheet" href="/assets/css/main.css?v=4032">
<link rel="stylesheet" href="/assets/css/midnight.css?v=4000">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="thumbnail" content="/i/PCM/site_preview.webp?v=3009">
<link rel="icon" type="image/webp" href="/icon.webp?v=1">
<title>502 Bad Gateway</title>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="apple-touch-icon" sizes="180x180" href="/icon.webp?v=1">
<link rel="manifest" href="/assets/manifest_PCM.json?v=426">
<link rel="mask-icon" href="/icon.webp?v=1">
<link rel="shortcut icon" href="/icon.webp?v=1">
<meta name="apple-mobile-web-app-title" content="PCM">
<meta name="application-name" content="PCM">
<meta name="msapplication-TileColor" content="#ff66ac">
<meta name="msapplication-config" content="/assets/browserconfig.xml?v=3009">
<meta name="theme-color" content="#ff66ac">
<link rel="apple-touch-startup-image" sizes="320x480" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="640x960" href="/icon.webp?v=1">
<link rel="apple-touch-icon" sizes="640x1136" href="/icon.webp?v=1">
<link rel="apple-touch-icon" sizes="750x1334" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="768x1004" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="768x1024" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="828x1792" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1024x748" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1024x768" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1125x2436" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1242x2208" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1242x2688" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1334x750" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1536x2008" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1536x2048" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1668x2224" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="1792x828" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2048x1496" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2048x1536" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2048x2732" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2208x1242" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2224x1668" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2436x1125" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2668x1242" href="/icon.webp?v=1">
<link rel="apple-touch-startup-image" sizes="2737x2048" href="/icon.webp?v=1">
</head>
<body id="error-502">
<a href="/i/PCM/cached.webp?v=3009">
<img class="site-banner" alt="site banner" src="/i/PCM/cached.webp?v=3009" width="100%">
</a>
<nav class="shadow-md fixed-top">
<div class="navbar navbar-expand-md navbar-light" id="navbar">
<div class="container-fluid" style="padding: 0;">
<a href="/" class="navbar-brand mr-auto">
<img id="header--icon" alt="header icon" src="/i/PCM/headericon.webp?v=3009">
</a>
<div id="logo-container" class="flex-grow-1 logo-container">
<a href="/">
<img class="ml-1" id="logo" alt="logo" src="/i/PCM/logo.webp?v=3009" width="70">
</a>
</div>
<div class="flex-grow-1 d-fl d-mob-none pad">
<form class="form-inline search flex-nowrap mx-0 mx-lg-auto" style="margin-right: 40rem !important;" action="/search/posts/" method="get">
<input autocomplete="off" class="form-control w-100" type="search" placeholder="Search" aria-label="Search" name="q" value="">
<span class="input-group-append">
<span class="input-group-text border-0 bg-transparent" style="margin-left: -2.5rem;">
<i class="fa fa-search" aria-hidden="true"></i>
</span>
</span>
</form>
</div>
</div>
</div>
</nav>
<div class="container">
<div class="row justify-content-around" id="main-content-row">
<div class="col h-100 custom-gutters" id="main-content-col">
<div class="row justify-content-center">
<div class="col-10 col-md-5">
<div class="text-center px-3 my-8">
<img alt=":#marseycapysorenjump2:" loading="lazy" src="/e/marseycapysorenjump2.webp">
<h5 class=" mt-1">502 Bad Gateway</h5>
<p class="text-muted mb-3">
aevann is probably restarting server or sum shit, just keep refreshing lmao
</p>
<div><a href="/" class="btn btn-primary">Refresh</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,60 +0,0 @@
<div class="col sidebar text-left {% if '/sidebar' not in request.path %}d-none d-lg-block{% endif %} pt-3" {% if request.path != '/sidebar' %}id="sidebar-content"{% endif %}>
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{# set image='/i/' ~ SITE_NAME ~ '/sidebar.webp?v=3009' #}
{% endif %}
{% if request.path != '/sidebar' and image %}
<a href="{{image}}">
<img class="mb-4" alt="sidebar image" onclick="expandDesktopImage()" loading="lazy" src="{{image}}" width=100%>
</a>
{% endif %}
<p class="text-center text-md mb-4">
<a class="sidebar-link d-md-none" href="/random_user" data-bs-toggle="tooltip" data-bs-placement="top" title="Random User"><i class="fas fa-music"></i></a>
<a class="sidebar-link" href="/log" data-bs-toggle="tooltip" data-bs-placement="top" title="Moderation Log"><i class="fas fa-scroll-old"></i></a>
<a class="sidebar-link" href="/transfers" data-bs-toggle="tooltip" data-bs-placement="top" title="Transfers"><i class="fas fa-arrow-right-arrow-left"></i></a>
<a class="sidebar-link" href="/random_post" data-bs-toggle="tooltip" data-bs-placement="top" title="Random Post"><i class="fas fa-random"></i></a>
<a class="sidebar-link" href="/comments" data-bs-toggle="tooltip" data-bs-placement="top" title="All Comments"><i class="fas fa-comment-dots"></i></a>
<span class="sidebar-link" onclick="postToastRoastEventDarkmode(this, '/events/fistmas2022/darkmode')" style="display:inline" data-bs-toggle="tooltip" data-bs-placement="top" title="Toggle Dark Mode"><i class="fas fa-moon-over-sun"></i></span>
<script src="{{'event/js/darkmode.js' | asset}}"></script>
</p>
{% if sub %}
{% if sub.sidebar_html %}
<div class="mb-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block" href="/h/{{sub}}/log">{{HOLE_NAME|upper}} LOG</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/h/{{sub}}/settings">{{HOLE_NAME|upper}} SETTINGS</a>
{% endif %}
<a class="btn btn-primary btn-block" href="/h/{{sub}}/mods">{{HOLE_NAME|upper}} MODS</a>
<a class="btn btn-primary btn-block" href="/h/{{sub}}/exilees">{{HOLE_NAME|upper}} EXILEES</a>
{% endif %}
{% if v and v.can_create_hole -%}
<a class="btn btn-primary btn-block" href="/create_hole">CREATE {{HOLE_NAME|upper}}</a>
{%- endif %}
<a class="btn btn-primary btn-block" href="/holes">BROWSE {{HOLE_NAME|upper}}S</a>
<a class="btn btn-primary btn-block mt-5" href="/live">
<span style="display: block; font-size: 1.5rem; line-height: 2;">LIVE LIST</span>
</a>
<a class="btn btn-primary btn-block" href="/post/4103">BUGS/SUGGESTIONS MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/9694" >OFFICIAL CONSPIRACY THEORY THREAD</a>
<a class="btn btn-primary btn-block" href="/post/10415">OFFICIAL GAMBLING THREAD</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/UFGJybS">PCM Watermark Collection</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/HxBfECG">TRS</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/Wkw11eX">Current RV Cutouts</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/B3XHKnD">PCM Shitposter Cutouts (1/?)</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/2wDZddF">PCM Shitposter Cutouts (2/?)</a>
<div class="sidebar--rules sidebar--rules--pcm">
{% set rules = "rules_" ~ SITE_NAME ~ ".html" %}
{% include rules %}
</div>
</div>
{% include "event/music.html" %}

View File

@ -115,10 +115,6 @@
<button type="button" class="mobile-nav-icon d-md-none" onclick="location.reload()"><i class="fas fa-arrow-rotate-right align-middle text-gray-500 black"></i></button> <button type="button" class="mobile-nav-icon d-md-none" onclick="location.reload()"><i class="fas fa-arrow-rotate-right align-middle text-gray-500 black"></i></button>
{% endif %} {% endif %}
{% if SITE_NAME == 'PCM' %}
<a class="mobile-nav-icon d-md-none" href="/live" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Live"><i class="fas fa-circle align-middle black live-circle"></i></a>
{% endif %}
{% if v %} {% if v %}
{% if v.notifications_count %} {% if v.notifications_count %}
<a class="mobile-nav-icon d-md-none" href="/notifications{% if v.notifications_do %}/{{v.notifications_do}}{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Notifications"><i class="notif-{{v.notifications_do}}-bell fas fa-bell align-middle" style="color: {{v.notifications_color}}"></i><span class="notif-count notif-{{v.notifications_do}} ml-1" style="padding-left: 4.5px;{% if v.notifications_do %}background:{{v.notifications_color}}{% endif %}">{{v.notifications_count}}</span></a> <a class="mobile-nav-icon d-md-none" href="/notifications{% if v.notifications_do %}/{{v.notifications_do}}{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Notifications"><i class="notif-{{v.notifications_do}}-bell fas fa-bell align-middle" style="color: {{v.notifications_color}}"></i><span class="notif-count notif-{{v.notifications_do}} ml-1" style="padding-left: 4.5px;{% if v.notifications_do %}background:{{v.notifications_color}}{% endif %}">{{v.notifications_count}}</span></a>
@ -153,12 +149,6 @@
<div class="collapse navbar-collapse" id="navbarResponsive"> <div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto d-none d-md-flex"> <ul class="navbar-nav ml-auto d-none d-md-flex">
{% if SITE_NAME == 'PCM' %}
<li class="nav-item d-flex align-items-center justify-content-center text-center mx-1">
<a class="nav-link" href="/live" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Live"><i class="fas fa-circle live-circle"></i></a>
</li>
{% endif %}
{% if v %} {% if v %}
{% if v.notifications_count %} {% if v.notifications_count %}

View File

@ -1,84 +0,0 @@
{% extends "default.html" %}
{% block pagetitle %}Live{% endblock %}
{% block content %}
<style>
tr:hover {
border: 2.5px solid var(--primary);
}
img.thumb {
border-radius: 4px;
}
.remove-streamer {
width: 130px;
}
</style>
<script>
function go_to(e, link) {
if (!e.target.classList.contains('remove-streamer'))
window.open(link, '_blank');
}
</script>
{% if error %}{{macros.alert(error, true)}}{% endif %}
{% if msg %}{{macros.alert(msg, false)}}{% endif %}
<div class="px-2 mb-4">
<h1 class="py-3"><i class="fas fa-circle mr-3" style="color:red"></i>Live</h1>
<div class="overflow-x-auto">
<table class="table table-striped mb-5">
<tbody>
{% for id, link, thumb, name, title, viewers in live %}
<tr onclick="go_to(event,'{{link}}')">
<td width="48"><img loading="lazy" class="thumb" src="{{thumb}}" alt="{{name}} thumbnail" width="48"></td>
<td>{{name}}</td>
<td>{{title}}</td>
<td>{{viewers}} watching</td>
{% if v and v.admin_level >= PERMS['STREAMERS_MODERATION'] %}
<td>
<form action="/live/remove" method="post">
<input type="hidden" name="formkey" value="{{v|formkey}}">
<input type="hidden" name="id" value="{{id}}">
<input autocomplete="off" class="btn btn-primary ml-auto remove-streamer" data-click="disable(this);this.parentElement.submit()" onclick="areyousure(this)" value="Remove">
</form>
</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
<h1 class="py-3"><i class="fas fa-circle mr-3" style="color:gray"></i>Offline</h1>
<div class="overflow-x-auto">
<table class="table table-striped mb-5">
<tbody>
{% for id, link, thumb, name, minutes, actual, views in offline %}
<tr onclick="go_to(event,'{{link}}')">
<td width="48"><img loading="lazy" class="thumb" src="{{thumb}}" alt="{{name}} thumbnail" width="48"></td>
<td>{{name}}</td>
<td>{{actual}}</td>
<td>{{views}} views</td>
{% if v and v.admin_level >= PERMS['STREAMERS_MODERATION'] %}
<td>
<form action="/live/remove" method="post">
<input type="hidden" name="formkey" value="{{v|formkey}}">
<input type="hidden" name="id" value="{{id}}">
<input autocomplete="off" class="btn btn-primary ml-auto remove-streamer" data-click="disable(this);this.parentElement.submit()" onclick="areyousure(this)" value="Remove">
</form>
</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% if v and v.admin_level >= PERMS['STREAMERS_MODERATION'] %}
<form action="/live/add" method="post">
<input type="hidden" name="formkey" value="{{v|formkey}}">
<input class="form-control" autocomplete="off" type="text" name="link" class="form-control" placeholder="Enter channel link.." required>
<input autocomplete="off" class="btn btn-primary mt-3" type="submit" onclick="disable(this)" value="Add Youtube Channel" style="float:right">
</form>
{% endif %}
</div>
{% endblock %}

View File

@ -1,3 +0,0 @@
<br>
<p> Rules: No doxing, No CP or other clearly illegal shit. Thanks.</p>
<p> This website has nothing to do with Political Compass Memes.</p>

View File

@ -1,7 +1,6 @@
{% extends "default.html" %} {% extends "default.html" %}
{%- set SHOP_FLAVOR = { {%- set SHOP_FLAVOR = {
'rDrama': 'Stir drama.', 'rDrama': 'Stir drama.',
'PCM': 'Watch IP2.',
'WPD': 'Watch people die.', 'WPD': 'Watch people die.',
}[SITE_NAME] }[SITE_NAME]
-%} -%}

View File

@ -1,55 +0,0 @@
<div class="col sidebar text-left {% if '/sidebar' not in request.path %}d-none d-lg-block{% endif %} pt-3" {% if request.path != '/sidebar' %}id="sidebar-content"{% endif %}>
{% if sub %}
{% set image=sub.sidebar_url %}
{% else %}
{# set image='/i/' ~ SITE_NAME ~ '/sidebar.webp?v=3009' #}
{% endif %}
{% if request.path != '/sidebar' and image %}
<a href="{{image}}">
<img class="mb-4" alt="sidebar image" onclick="expandDesktopImage()" loading="lazy" src="{{image}}" width=100%>
</a>
{% endif %}
<p class="text-center text-md mb-4">
<a class="sidebar-link d-md-none" href="/random_user" data-bs-toggle="tooltip" data-bs-placement="top" title="Random User"><i class="fas fa-music"></i></a>
<a class="sidebar-link" href="/log" data-bs-toggle="tooltip" data-bs-placement="top" title="Moderation Log"><i class="fas fa-scroll-old"></i></a>
<a class="sidebar-link" href="/transfers" data-bs-toggle="tooltip" data-bs-placement="top" title="Transfers"><i class="fas fa-arrow-right-arrow-left"></i></a>
<a class="sidebar-link" href="/random_post" data-bs-toggle="tooltip" data-bs-placement="top" title="Random Post"><i class="fas fa-random"></i></a>
<a class="sidebar-link" href="/comments" data-bs-toggle="tooltip" data-bs-placement="top" title="All Comments"><i class="fas fa-comment-dots"></i></a>
</p>
{% if sub %}
{% if sub.sidebar_html %}
<div class="mb-4">{{sub.sidebar_html|safe}}</div>
{% endif %}
<a class="btn btn-primary btn-block" href="/h/{{sub}}/log">{{HOLE_NAME|upper}} LOG</a>
{% if v and v.mods(sub.name) %}
<a class="btn btn-primary btn-block" href="/h/{{sub}}/settings">{{HOLE_NAME|upper}} SETTINGS</a>
{% endif %}
<a class="btn btn-primary btn-block" href="/h/{{sub}}/mods">{{HOLE_NAME|upper}} MODS</a>
<a class="btn btn-primary btn-block" href="/h/{{sub}}/exilees">{{HOLE_NAME|upper}} EXILEES</a>
{% endif %}
{% if v and v.can_create_hole -%}
<a class="btn btn-primary btn-block" href="/create_hole">CREATE {{HOLE_NAME|upper}}</a>
{%- endif %}
<a class="btn btn-primary btn-block" href="/holes">BROWSE {{HOLE_NAME|upper}}S</a>
<a class="btn btn-primary btn-block mt-5" href="/live">
<span style="display: block; font-size: 1.5rem; line-height: 2;">LIVE LIST</span>
</a>
<a class="btn btn-primary btn-block" href="/post/4103">BUGS/SUGGESTIONS MEGATHREAD</a>
<a class="btn btn-primary btn-block" href="/post/9694" >OFFICIAL CONSPIRACY THEORY THREAD</a>
<a class="btn btn-primary btn-block" href="/post/10415">OFFICIAL GAMBLING THREAD</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/UFGJybS">PCM Watermark Collection</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/HxBfECG">TRS</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/Wkw11eX">Current RV Cutouts</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/B3XHKnD">PCM Shitposter Cutouts (1/?)</a>
<a rel="nofollow noopener" class="btn btn-primary btn-block" href="https://imgur.com/a/2wDZddF">PCM Shitposter Cutouts (2/?)</a>
<div class="sidebar--rules sidebar--rules--pcm">
{% set rules = "rules_" ~ SITE_NAME ~ ".html" %}
{% include rules %}
</div>
</div>

View File

@ -34,7 +34,7 @@
<div onclick="loadEmojis('post-title')" class="btn btn-secondary format d-inline-block m-0" id="emoji-reply-btn-2" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"><i class="fas fa-smile-beam"></i></div> <div onclick="loadEmojis('post-title')" class="btn btn-secondary format d-inline-block m-0" id="emoji-reply-btn-2" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"><i class="fas fa-smile-beam"></i></div>
<div id="urlblock"> <div id="urlblock">
<label for="URL" class="mt-3">URL</label> <label for="URL" class="mt-3">URL</label>
<input autocomplete="off" class="form-control" id="post-url" aria-describedby="URLHelp" name="url" type="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();hide_image();savetext();checkRepost(){% if SITE_NAME != 'PCM' %};autoSuggestTitle(){% endif %}"> <input autocomplete="off" class="form-control" id="post-url" aria-describedby="URLHelp" name="url" type="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();hide_image();savetext();checkRepost();autoSuggestTitle()">
<small id="system" class="form-text text-danger"></small> <small id="system" class="form-text text-danger"></small>
</div> </div>
<div id="image-upload-block"> <div id="image-upload-block">

View File

@ -85,7 +85,6 @@
<span id="profile--lastactive" class="ml-2">last active <span id="profile--lastactive--time" data-bs-toggle="tooltip" data-bs-placement="bottom" onmouseover="timestamp('profile--lastactive--time','{{u.last_active}}')">{{u.last_active_date}}</span></span> <span id="profile--lastactive" class="ml-2">last active <span id="profile--lastactive--time" data-bs-toggle="tooltip" data-bs-placement="bottom" onmouseover="timestamp('profile--lastactive--time','{{u.last_active}}')">{{u.last_active_date}}</span></span>
{%- endif %} {%- endif %}
</div> </div>
{% if u.basedcount %}<p class="text-muted" id="profile--based">Based Count: {{u.basedcount}}</p>{% endif %}
{% if FEATURES['USERS_PROFILE_BODYTEXT'] -%} {% if FEATURES['USERS_PROFILE_BODYTEXT'] -%}
{% if u.bio_html %} {% if u.bio_html %}
@ -336,10 +335,6 @@
<a href="/@{{u.username}}/following" class="font-weight-bold mr-2" id="profile-mobile--following" style="display:block">follows {{u.follow_count}} user{{'s' if u.follow_count != 1 else ''}}</a> <a href="/@{{u.username}}/following" class="font-weight-bold mr-2" id="profile-mobile--following" style="display:block">follows {{u.follow_count}} user{{'s' if u.follow_count != 1 else ''}}</a>
{%- endif %} {%- endif %}
{% if u.basedcount %}
<br><span id="profile-mobile--based">Based count: {{u.basedcount}}</span>
{% endif %}
<br><span id="profile-mobile--joined">joined <span id="profile-mobile--joined--time" data-bs-toggle="tooltip" data-bs-placement="bottom" onmouseover="timestamp('profile-mobile--joined--time','{{u.created_utc}}')" class="font-weight-bold">{{u.created_date}}</span></span> <br><span id="profile-mobile--joined">joined <span id="profile-mobile--joined--time" data-bs-toggle="tooltip" data-bs-placement="bottom" onmouseover="timestamp('profile-mobile--joined--time','{{u.created_utc}}')" class="font-weight-bold">{{u.created_date}}</span></span>
{% if v and v.admin_level >= PERMS['VIEW_LAST_ACTIVE'] -%} {% if v and v.admin_level >= PERMS['VIEW_LAST_ACTIVE'] -%}

View File

@ -3,8 +3,6 @@
<meta name="cf-2fa-verify" content="4f40ca1ca249313"> <meta name="cf-2fa-verify" content="4f40ca1ca249313">
{% elif SITE == 'watchpeopledie.tv' %} {% elif SITE == 'watchpeopledie.tv' %}
<meta name="cf-2fa-verify" content="372aba5b9338e00"> <meta name="cf-2fa-verify" content="372aba5b9338e00">
{% elif SITE == 'pcmemes.net' %}
<meta name="cf-2fa-verify" content="bf22ffe56e4bcda">
{% endif %} {% endif %}
{% endmacro %} {% endmacro %}

View File

@ -67,13 +67,9 @@ UPDATE award_relationships SET price_paid = 20000 WHERE kind = 'pause';
UPDATE award_relationships SET price_paid = 40000 WHERE kind = 'unpausable'; UPDATE award_relationships SET price_paid = 40000 WHERE kind = 'unpausable';
UPDATE award_relationships SET price_paid = 50000 WHERE kind = 'alt'; UPDATE award_relationships SET price_paid = 50000 WHERE kind = 'alt';
UPDATE award_relationships SET price_paid = 50000 WHERE kind = 'checkmark'; UPDATE award_relationships SET price_paid = 50000 WHERE kind = 'checkmark';
-- wpd and pcm -- wpd
UPDATE award_relationships SET price_paid = 400 WHERE kind = 'owoify'; UPDATE award_relationships SET price_paid = 400 WHERE kind = 'owoify';
UPDATE award_relationships SET price_paid = 400 WHERE kind = 'rainbow'; UPDATE award_relationships SET price_paid = 400 WHERE kind = 'rainbow';
-- pcm
UPDATE award_relationships SET price_paid = 150 WHERE kind = 'croag';
UPDATE award_relationships SET price_paid = 150 WHERE kind = 'toe';
UPDATE award_relationships SET price_paid = 4000 WHERE kind = 'crab';
-- house awards -- house awards
UPDATE award_relationships SET price_paid = 400 WHERE kind = 'Furry'; UPDATE award_relationships SET price_paid = 400 WHERE kind = 'Furry';
UPDATE award_relationships SET price_paid = 400 WHERE kind = 'Femboy'; UPDATE award_relationships SET price_paid = 400 WHERE kind = 'Femboy';

View File

@ -1,4 +1,4 @@
This code runs https://rdrama.net, https://pcmemes.net and https://watchpeopledie.tv This code runs https://rdrama.net and https://watchpeopledie.tv
# Installation (Windows/Linux/MacOS) # Installation (Windows/Linux/MacOS)

View File

@ -1,627 +0,0 @@
Goddamn I wanna lick your pussy
![](/images/1638117165CN4.webp)
{[para]}
And that is the goddamn truth dude.. read it in the Bible dude.. genesis 3:16 you're poor fuck you. I saw it In the Bible.. not being crude.. but.. like if you think blades not good. I remember reading this verse in the Bible. I remember your faggot ass was like trying to make sure you were good and you weren't.. and you were like “oh my god.. I hope.. I hope that I'm ok.. I hope that both my faggot fathers don't molest me.. and then you're like ok.. so I'm going to read the Bible..” and you lick your fingers like a fucking fruitcake to spread the pages.. and you realize you're not as good as me. Let's take a shot for those faggots. My streamlabs is fatter than your mom. Exactly
{[para]}
Here's the thing.. all you poor little virgin little faggot little bitches out there Listen up.. listen up dude.. All those things about drugs, they're great.. drugs are great.. Do em.. No one ever did drugs and didn't regret it. Ok? Do it dude.. Do all your drugs you little virgin little faggot little bitches. Go.. seriously dude.. because I did moly in New Orleans and I was feeling lovely. I did molly in New Orleans figure it out dude. chug some water.. fuckin' figure it out dude. And it's ok.. it's ok.. if you're a shitty person dude.. it's ok if you're a shitty person dude, just.. just know it.. Just.. first off we're.. we're not putting on a fuckin' funeral for you there little bruises. Calm down. You just.. Just.. You just die and get forgotten about dude. You just don't get called at the assembly. It's.. its just what it is dude.. Seriously dude. I'm tired of all you little virgin little faggot ass bitch ass punks that think people care if you die or live, they.. we don't.. we don't.. We're out here living it, figure it out dude.. and that's just real dude. So.. when you're looking down with god, you're like yeah god ay.. this is my bye-well. and no ones there, hey man.. traffic is a bitch dude.. traffics a bitch dude.. if you think I'm going to go to your funeral in this fuckin' 5:20 traffic fuck you dude.. fuck you.. Seriously dude.. We didn't even care when you were alive figure it out dude.
{[para]}
We ain't backing up your fucking faggot ass shit bitch Imagine walking around.. alright here's the thing dude
Hey Bone ! What is this, 7 million.. humans.. male humans ? 7 million females ? And you haven't caught one yet ? You're dumb bitch, fuck you
spits
Fuck you dude If you haven't caught a fucking catch.. if you haven't scratched a scratch-ticket, you's a bitch Fuck you dude.. seriously dude If you haven't fucking figured it out at this point.. fuck you.. die
No it's okay if you die in a fire a little bit it's.. it's.. whatever But like.. dude, if you haven't found there is 7 BILLION bitches in this world and not none of them like you think about you.. fuck you That's.. seriously.. kill yourself
And if you die no one would care dude. Do you really think we're gonna walk around and figure you out ? Fuck you dude.. cheers.. figure it out dude
If you think that uh.. 7 and a half million people don't like you, you know what ? Cuz you're a piece of shit God damn right
Give me some jerkey
You're a bitch, figure it out dude. I don't know what the fuck you're fucking thinking about.. OH here's the thing dude ay.. ay if that happened, no one likes you dude. Just.. dude you can't uh afford heroin bitch, but die
go.. GO SCRAM GET OUTTA HERE GET OUTTA HERE
You fucking scrum-diddly-umptious ass bitch GOOOO Get the fuck outta here dude
We.. okay..here's the funny.. here's the fucking funny part about it It's .. it's that.. if.. you don't wanna be seen.. we gotta work really hard to fucking get rid of you, you bitch ass bitch. Figure it out
CHUG BEER
I love ashley.. and.. she got some big ass tittys AYOOOO
AY you.. you'll never have some big ass tittys dude.. cuz yous a small dick bitch, figure it out Okay, heres the thing dude.. i'll scratch those scratch-tickets i don't give a fuck BITCH
Figure it out go SCRAM SCRAAAAAAAAAM BITCH scraaaaaaam bitch
If you .. don't.. if you have a small dick, horrible Oh.. no.. you.. don't.. need.. that.. uh uh uh uh
DON'T RAPE BITCHES.. YOU CAN'T RAPE BITCHES It is what it is.. ??????????????????
BUT COME ON BRO.. COME ON BRO And that's the truth though dude. AY ay here's the thing dude.. maybe m-m-maybe yous a small dick piece of shit dude Maybe you don't deserve to walk the life i walk Figure it out dude
Alright, so you die.. who cares Alright, imagine you die.. and you're like .. mmm mmmm no one gives a fuck Figure it out dude
That's all it is dude, it's okay dude to be a fucking loser.. figure it out dude But like come on dude, like.. do you really think people are gonna fucking shed a tear for you When no one shed a tear for you ever ?
Figure it the fuck out dude You died and just.. went in the ground Come on dude !
{[para]}
Listen listen listen Here's the thing.. all you poor little virgin little faggot little bitches out there Listen up.. listen up dude.. All those things about drugs, they're great.. drugs are great.. Do em.. No one ever did drugs and didn't regret it. Ok? Do it dude.. Do all your drugs you little virgin little faggot little bitches. Go.. seriously dude.. because I did moly in New Orleans and I was feeling lovely. I did molly in New Orleans figure it out dude. chug some water.. fuckin' figure it out dude. And it's ok.. it's ok.. if you're a shitty person dude.. it's ok if you're a shitty person dude, just.. just know it.. Just.. first off we're.. we're not putting on a fuckin' funeral for you there little bruises. Calm down. You just.. Just.. You just die and get forgotten about dude. You just don't get called at the assembly. It's.. its just what it is dude.. Seriously dude. I'm tired of all you little virgin little faggot ass bitch ass punks that think people care if you die or live, they.. we don't.. we don't.. We're out here living it, figure it out dude.. and that's just real dude. So.. when you're looking down with god, you're like yeah god ay.. this is my bye-well. and no ones there, hey man.. traffic is a bitch dude.. traffics a bitch dude.. if you think I'm going to go to your funeral in this fuckin' 5:20 traffic fuck you dude.. fuck you.. Seriously dude.. We didn't even care when you were alive figure it out dude.
Ayoo donation hype. You're poor. A dollar ninety nine.. really? Really? Yuck. I'm not even going to play it, figure it out. I know donations don't show up on the shit dude but like cmon dude. Do I look like a fuckin' bum to you dude? Do I look like I sleep on a fuckin' street corner next to piss n shit? Seriously dude.. do you realize that the money you just donated.. uhh.. if I was.. if I worked at coldstone which I don't.. if I worked at coldstone.. we would have motherfuckers sing to you dude. Die a little bit
{[para]}
And that is the goddamn truth dude.. read it in the Bible dude.. genesis 3:16 you're poor fuck you. I saw it In the Bible.. not being crude.. but.. like if you think blades not good. I remember reading this verse in the Bible. I remember your faggot ass was like trying to make sure you were good and you weren't.. and you were like “oh my god.. I hope.. I hope that I'm ok.. I hope that both my faggot fathers don't molest me.. and then you're like ok.. so I'm going to read the Bible..” and you lick your fingers like a fucking fruitcake to spread the pages.. and you realize you're not as good as me. Let's take a shot for those faggots. My streamlabs is fatter than your mom. Exactly
{[para]}
All these fuckin' IP2 faggot streamers.. Just think.. that just doing this, just doing that.. Just hittin' live. You just earn it? Die a lil bit dude.. Fuck you dude.. I got a badass jcup fuckin' squirtin' ass bitch that's waiting on me and I'm still here for you dude? The fuck you talking about dude? You think.. You think you can just hit live and you can get content and donations? Shit.. Bro, you know how many times I dun hit.. I dun hit fuckin' reminder nigger on my mofuckin' speaker, nigger? Person? Nothing is given dude.. Provide content, figure it out dude. It's Sickening.. Sickening.. Sickening.. I'm sick of these fuckin' pieces of shit, thinking that they can just go live and get some donations.. You ain't me nigga shit.. Shiiit. On the off-chance I get a 3.33.. I'm just spittin' facts here dude.. I got a beautiful bitch that wants to squirt all over the universe.. Across the universe and I still turn the speaker on dude.. I'm probably not getting a donation, I don't give a fuck dude.. I'll figure it out dude.. But like.. Public service announcements to all IP2 streamers dude.. Provide contont.. They will pay you thousands if you just give them some contont.. If you think you're just going to sit there be like, Wuhh.. Uhh.. Uhh.. Uhhhh.. Retard hours.. No.. They have contont dude.. And that's big factual and actual, Big talk dude..
Dude.. Ok so many people just ask me about shit and I'm just like shut the fuck up dude.. Shut the fuck up dude.. Like seriously.. All the.. Ok.. Lets talk about the bottom of the rung streamers.. Die.. Seriously die a little bit..
{[para]}
![](/images/1638117806hU0.webp)
{[para]}
![](/images/1638117722gFM.webp)
{[para]}
![](/images/16381226123A0.webp)
{[para]}
![](/images/1638118173wxs.webp)
{[para]}
Jiminy Christmas
{[para]}
Check the streamlabs, BITCH!
{[para]}
Strength is the morality of the man who stands out from the rest, and it is mine.
{[para]}
such men alone are my readers, my proper readers, my pre-ordained readers. Of what account are the rest? The rest are simply...humanity. One must be superior to humanity in power, in loftiness of soul - IN CONTEMPT.
{[para]}
I'm not upset that you lied to me, I'm upset that from now on I can't believe you.
{[para]}
You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.
{[para]}
The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself.
{[para]}
There are two different types of people in this world: those who want TO KNOW and those who WANT TO BELIEVE.
{[para]}
We are the new 'barbarians' - forged in iron hardness in the fires of their hate and persecution. All over the world, we wait to pounce...
{[para]}
Revolution is a spectators sport. The majority will sit in the stands and watch the factions fight. At the end they will choose side with the team that is winning.
{[para]}
Being prepared to die is one of the great secrets of living.
{[para]}
![](/images/1638122011ZuI.webp)
{[para]}
Let me crack your back!
{[para]}
Bass in the lac
{[para]}
Poverty hype
{[para]}
You should be honoured to be groped by me!
{[para]}
Chevron nigger, Bye!
{[para]}
RANCH NIGGER
{[para]}
Give me newports, nigger. Oh did I say that?
{[para]}
Oh a poptart ayoo, do you got a toaster nigger?
{[para]}
You're such a nigger.. Die.
{[para]}
Oh Becky.. Shots now bitch.
{[para]}
Look at me, look at me real quick.. You look good.. You know when you looked the best? When you were passed out in my door way.
{[para]}
Woman give me a cigarette now. Give me a cigarette now woman. Now.
{[para]}
50 shades of rape, Ayoo!
{[para]}
Fuckin' niggers!
{[para]}
Slow down there crunchy little nigger.
{[para]}
What is your stance on black people?
{[para]}
Nigger lover.
{[para]}
Jimeny Christmas.
{[para]}
Maybe I stuck my dick in your mouth, how about this?
{[para]}
Ay whatup bitch?
{[para]}
Nigger, I'm not lit.
{[para]}
Hey, Uh poor people die in a fire. Fuck you.
{[para]}
Bro, I'm lit nigger.
{[para]}
It's not rape if they don't have an orgasm.. Fuck it.
{[para]}
Get Dro, nigger.
{[para]}
Leave me out of your faggot ass mouth, nigger.
{[para]}
NIGGER!
{[para]}
Maybe you should kill yourself.
{[para]}
We're done.. You're poor.. figure it out faggot nigger.
{[para]}
Hi, uh.. kill yourself.. Bye.
{[para]}
What a fuckin' ugly nigger.
{[para]}
Oh get him! Ay dropshot nigga!
{[para]}
Hey bro, you ain't never had sex, but abort your baby if you bust on your seat cushions, nigger.
{[para]}
You are so poor, you would fuckin' run out of gas in a Prius you faggot.. Figure it out.
{[para]}
Ay bro! Let's get some bass in lac and shit bitch.
{[para]}
Bro, I'm better than anyone else figure it out bitch.. Person..
{[para]}
Do you squirt a lil bit?
{[para]}
Yo, donate a thousand and we're gonna.. we're gonna fuckin' rape some bitches.
{[para]}
Oh my god.. fat shot.. nigger hype..
{[para]}
Fuck it, I don't give a fuck..
{[para]}
What you on some gay shit, bro?
{[para]}
Dude.. Dude.. I got some g cuppers, figure it out.. let's go dude..
{[para]}
Goddamn.. I want to lick your pussy.
{[para]}
You.. You.. want me to show my butthole on stream?
{[para]}
Sup squirter?
{[para]}
Wow.
{[para]}
You are a squirter.. you know if I dicked you down right you would squirt.
{[para]}
ONLYUSEmeBLADE.COM FIGURE IT OUT!
{[para]}
Imagine being a faggot donator..
{[para]}
You being mentally retarded is not an excuse, faggot.
{[para]}
Why you get all fuckin' anti-rapey against me, dude?
{[para]}
AYOO!
{[para]}
WHY DO YOU NOT UNDERSTAND BASIC HUMAN FUCKIN' EMOTIONS, DUDE?
{[para]}
That's a fuckin' basic human right to let me sleep, dude.
{[para]}
Buy me a jager bomb and die.
{[para]}
I got to pee so goddamn bad.. Can I pee in you butthole while I crack your back?
{[para]}
Neat.. File it.. file your complaint in chat I don't give a fuck about.
{[para]}
Die in a fire.
{[para]}
Do you think I'm like a fuckin' sexual predator? Do you think I'm a piece of shit or something?
{[para]}
Fireworks.. My butthole and shit..
{[para]}
Real quick.. I'm going to fuck you a lot.
{[para]}
Ay listen.. I would so fuck you if you gained some pounds.. uhh.. I don't know why but you're skinny.
{[para]}
You were hella greasy then, dude.. Like you were greasy as fuck bro.. You were way fatter, you looked like a toad..
{[para]}
GROPE GANG!
{[para]}
Have you ever been raped? No.. You should be.
{[para]}
No. I'll press you right now, dude.
{[para]}
LET ME SLEEP DUDE!
{[para]}
Say you will give oral sex or you're
{[para]}
Ay! Poor people what's up tho?
{[para]}
I bet your pussy smells like poverty.
{[para]}
Rape inbound, figure it out dude.
{[para]}
Should I crack her back?
{[para]}
STOP FUCKING WITH ME DUDE!
{[para]}
What your name? Laura? Laura! Suck us all off for donations.
{[para]}
Ayoo! Tell them to donate, nigger.
{[para]}
This is Mexican Andy, big ol faggot.
{[para]}
Your tits are tiny.. Eat some oatmeal.. For real.. Have some respect for yourself and get bigger tits. Please. Eat some oatmeal I'll buy you the oatmeal.. they are kind of offensive, if you got topless it's not even considered nudity.
{[para]}
Whoopsie!
{[para]}
WHORE!
{[para]}
You know what's amazing? Living your best life paying bills while fuckin' incels are giving you money.. That's what's up.. I swear to god, dude.
{[para]}
You seem rape-able.. You're telling me you're going to convince a judge that I raped you?
{[para]}
You smell like consent.
{[para]}
Ay.. Check.. Check my streams labs, bitch.. fuck you die in a fire.. Die.
{[para]}
Thanks for your money, faggot.
{[para]}
Did I grope you?
{[para]}
YOU'RE POOR! I DON'T WANT TO HAVE SEX WITH YOU, YOU'RE SO POOR. YUCKY. YOU'RE SUPER POOR.
{[para]}
I just have a lot of love to give.. So if some random fuckin' ugly whore bitch gets groped, she gets groped.. Accept it.
{[para]}
GROPE!
{[para]}
She can't live without yogurt cum in her throat.
{[para]}
You should be honored to be groped by me..
{[para]}
You should be fuckin' welcome whore..
{[para]}
Seriously, you should be fuckin' honored that I would ever grope you.. You stupid bitch..
{[para]}
Fuck her dude.. she should be honored that I even found her sexy enough to fuckin' molest her.
{[para]}
AFRICA!
{[para]}
And then you just died and you're all sad and shit, looking back on my shit tuning into my livestream.. and you figure it out the thing is though maybe you're a piece of shit.. Fuck you.. I don't know dude.. like I don't know.. Sorry that I'm better than you fuckin' faggot.. I'm smoking the last cigarette of the night, Nigger..
{[para]}
Calm down bitch.. CALM DOWN BITCH, YOU AIN'T SHIT.. LET EM KNOW..
{[para]}
Figure it out.. Bitch..
{[para]}
Here's.. Here's the thing, there's good fuckin' solid people like me and there's poor people like you.. Figure it out
{[para]}
No.. it's okay if you die in a fire a little bit.. it's a whatever..
{[para]}
You can't afford heroin, bitch..
{[para]}
Hey, nigger. It's what it is dude.. let's figure it the fuck out dude.. Someone needs to figure it the fuck out dude..
{[para]}
I do admit.. I have a severe drinking problem..
{[para]}
And.. if you're poor and no one likes you.. then just die a lil bit.. and.. maybe you can come above that and become a millionaire, if you work hard enough but you're probably not because you're poor and you're poor.
{[para]}
Alright.. Imagine.. watching my shit and you don't even have a fuckin' significant other.. exactly.. You don't even have god.. you haven't heard about a Bible.. you're a bitch and you figure it out, dude.. You just walk around this earth.. Not lovin' life not being lit.. you ain't lit bitch.. YOU AIN'T LIT BITCH!
{[para]}
I'm poor, Jimney Christmas.
{[para]}
It's alright to be better than people.. I deal with that on a constant.
{[para]}
NWORD.. I never said nword in my entire life dude. I love nwords and we figure it out dude. Like what the fuck are you taking about dude?.. how dare you, dude? Nword is uh fuckin' horrible shit for people, for fuckin' faggots and niggers to say.. how dare you..
{[para]}
Maybe yous a small dick piece of shit, dude. Maybe you don't deserve to walk the life I walk.. figure it out.
{[para]}
SCRAM BITCH..
{[para]}
Seriously dude.. if you haven't fuckin' figured it out at this point.. Die..
{[para]}
That's why if you cum to fast you don't exist.
{[para]}
What if I said it though? I'm friends with EBZ and I said it and he figured it out, and EBZ.. Ay can we go to a hotel or something? I want to get my dick sucked.
{[para]}
Ay, you will never have some big ass titties dude.. Cause yous a small dick bitch.. figure it out.
{[para]}
YOU'RE A NIGGER!
{[para]}
Can I see your tits?
{[para]}
You like Asians girls cause they got a small pussy and you got a small dick..
{[para]}
You don't deserve to squirt, Whore!
{[para]}
Your a cup tits are not contont, dude.. Get out of here dude..
{[para]}
I think you're a whore.. I think you're a whore dude.. you got to grow some tits.. Eat some oatmeal and die a little bit.. Scram..
{[para]}
You're not a woman so anybody that fucks you is a faggot, and figure it out.. Go..
{[para]}
What in the Gosh-Dar-Niggers?
{[para]}
Tequila and whore hype.
{[para]}
Let's get some jerky or some shit.
{[para]}
I don't know.. I just get naked on tequila..I get really horny on tequila.. that's the only reason I don't want to do tequila.. I don't want to get my chat all turned on..
{[para]}
Of course we're going to buy alcohol fuckin' faggot.. Die
{[para]}
Ay.. Ay.. Shut up Honda Civic.. Die.. Die a little bit, Honda Civic..
{[para]}
You orgasm on my dick, dude.. Everyone heard it.. Everyone heard it..
{[para]}
Do you want me to press him? Do you want me to press him, dude?
{[para]}
Suck my asshole, Whore.. No.. Suck my asshole, Whore.. it's not a bad thing.. but just like.. it's just some asshole.. just suck a lil bit..
{[para]}
You're a ninja turtle ass bitch, dude.
{[para]}
Yeah, yeah, yeah.. Suck him off a lil bit.. Just suck him off a lil bit..
{[para]}
SQUIRT NATION BITCH!
{[para]}
LMNOP, Figure it out.
{[para]}
Ay, Girl what's up doe? What's up with that lil bit of pussy on my mouth, baby?
{[para]}
I'm obviously not a black person.. did anyone think I was a black person? Nobody thought that, dude.
{[para]}
I honestly think you're a liar and you don't love me.. And.. you rob blacks people. You rob black people.
{[para]}
LMNOP, Nigger.. Person..
{[para]}
Dude.. I'm so lit, dude.. Hey, water nigger.. WATER.. Water please and thanks you..
{[para]}
Just cum in my mouth, whore.
{[para]}
Ay, get aborted a lil bit..
{[para]}
Dude if you see how much money I made off you fuckin' scum ass bitch ass donations.. you'd be salty as fuck.
{[para]}
Well.. Ask me a question there fag, no I'm not sitting in the same room as you dude and your mother is a faggot dude, figure it out dude.
{[para]}
Scram bitch, scram..
{[para]}
You're a dumb bitch..
{[para]}
Die a little bit and die.
{[para]}
How big are your tits?
{[para]}
You're retarded.. HAHA.. You're not better than me. HAHA!
{[para]}
Hey Geezer.. Unlock the door dude no black people..
{[para]}
Hey.. WHORE!
{[para]}
What's up with some sex later?
{[para]}
God you got a fatty ass butt.. What's up with some anal..
{[para]}
I smell consent.
{[para]}
Fuck off dude.. Fuck you dude.. Die a little bit.. Fuck you dude.. Ima pee dude.. Die a little bit.. Little faggot little nigger..
{[para]}
You guys are whispering faggots dude..
{[para]}
Weed, nigger.
{[para]}
Monkey tit ass bitch
{[para]}
Chocolate peanutbutter nut, nigger. Let's get it let's go.
{[para]}
You're a faggot dude.. Ay, kill yourself.. How about you kill yourself a lil bit dude.. fuck you dude.. FUCK YOU DUDE. How about I slap you a little bit faggot? Die a little bit dude.
{[para]}
Let me take a nap, nigger.
{[para]}
I never said nigger..
{[para]}
FUCK DUDE. WHAT THE FUCK DUDE.. BACK THE FUCK UP DUDE.. I'M NAKED RIGHT NOW.
{[para]}
I hope she sticks an iron up her pussy and dies.
{[para]}
I hope she sticks an iron up her pussy and dies.
{[para]}
That bitch is gone dude, this is her stream.. Ay let's smoke some meth in this shit.. I'm down to do some meth right now to fuck up the deposit.. Fuck that shit dude.
{[para]}
I don't give a fuck.. Fuck you die in a lil fuckin fire bitch.
{[para]}
Let's take a viagra and get weird dude.
{[para]}
Die a little bit.. Nigger..
{[para]}
You're poor, you're a nigger, figure it out.
{[para]}
Just stick your finger in my butthole a lil bit..
{[para]}
I'm going to fuck you whether you like it or not.
{[para]}
Get in here with your tits, BITCH!
{[para]}
You're a bitch ass nigger.. DIE..
{[para]}
Don't ever smack me, Nigger.
{[para]}
You want me to fuck him up for you, dude? Why are you talking to my guy all wrong? I got permission to go terminator on your bitch ass.
{[para]}
Bring your nipples in here, bitch. Nipples NOW. Can we Uber eats some nipples?
{[para]}
I would stick kitkats in your pussy to solve the Tetris problems.. Nigger lover.
{[para]}
I think it's nigger dumb.. it's nigger dumb.
{[para]}
You're a faggot dude.. Get fuckin' raped.. Fucking faggot, dude.. kill yourself, I really hope you do. I really hope you kill yourself. I hope you get fuckin' banana syndrome and kill yourself and die, dude.. Give me a blanket dude.. fuckin' kill yourself dude.. and.. I've never been your friend.. Ever..
{[para]}
Do you want me to live with c-cups? Fuck you dude..
{[para]}
Pastrami Niggers.
{[para]}
How long have you been a bitch dude? Wanna buttfuck a lil bit?
{[para]}
I hope you get aids dude.. No.. Here the thing dude, if you get aids I'd be amazed, that means someone would of fucked you, you fuckin' old faggot.. Goddamn. So I'm in a catch-22, I hope you get aids but no ones going to touch you.. So.. we're going to have to prick you.
{[para]}
Is there some rape going on?
{[para]}
Did you ever get your dick sucked and helium came out? Dude.. dude.. pregnancy is the worst STD.. Jesus Christ.. I'd rather get crabs than a fuckin' kid.. fuck off dude.
{[para]}
Here's the thing.. I love you. I really want to put my dick in you and like tickle your brain a lil bit.
{[para]}
I love you so much that I'm going to fuckin' inherit some African Americans.. And.. they're going to die.. and that's going spread beyond your graveyard so you're protected.
{[para]}
Smokin' a blunt, fuckin' a jcupper and having a big 8 inch, half of it is the head.. LMNOP.
{[para]}
Tropical bitch nigger.
{[para]}
I jerked off in your house, how do you feel about that? I nutted fat loads on your carpet. Your welcome.
{[para]}
I got this jcupper from New York and I love her and we're going to figure it out and she's going on the RV.. And I went on this fuckin' collage website shit.. So I went into the bathroom.. and.. I made a collage of her.. I really did dude.. Dude, yeah cause like if it's one picture.. Well I can't wack off to one picture.. Fuck you.. So I found a collage pic app and we'll figure it out.. Dude.. And it was lit dude.. I nutted it so hard, like backspace.. Like fuck everything else..
{[para]}
But.. here's the thing I'm Brian Risso, figure it out.. Alright, big ass dick check for Reddit.
{[para]}
She's big tho, dude.
{[para]}
Oh, Geezer masturbates to lord of the rings. I walked in on his stream and he was masturbating to lord of the rings.. He's a faggot dude.. Fuck you Geezer. Hey Geezer, if you ever see me it's on little bruises.. Fuck you, I'll spit on your grave bitch.
{[para]}
What's up baby girl.. what's up with that pussy? Can I have some sex a lil bit? Can we have some sex a lil bit?
{[para]}
I will pay a faggot to fuck you in the ass to figure it out dude.
{[para]}
Oprah NIGGER.
{[para]}
I'm going to play fuckin' TTS at your fuckin' funeral, Whore. I will play fuckin' TTS at your funeral, best believe it. I'm going to lower it dude.. 7 cent TTS at this faggots funeral. I'm still alive but you're not.
{[para]}
I wish I would of pissed in his faggot ass mouth, dude.
{[para]}
Hey faggot, don't get involved.. Faggot.. Don't get involved. See what happens.. Don't get involved faggot. Die.. Fuck you.. Faggot.. Don't get involved faggot, fucks wrong with you.. You're poor.. Seriously, you're so poor.. why would you do that? You're such a faggot ass nigger.. Die.. Go.. what the fuck is wrong with you faggot? Don't ever die around me, nigger.
{[para]}
Bye nigger, you're a nigger. Bye.
{[para]}
No.. no.. no.. no.. Die a little bit.. Fuck you.. nigger.
{[para]}
You're such a nigger..
{[para]}
Ay, ay, this nigger better cuddle with me or whatever. I want to lay down.. This guy is such a nigger, dude.. what a fucking nigger, dude.. Shit..
{[para]}
Let's get it nigger.. Let's get it nigger..
{[para]}
You think I won't kill you nigger? I will kill you.. you think I don't make money off you, faggot? I will murder you, faggot ass nigger.
{[para]}
Die a little bit, faggot.
{[para]}
Blow your nose, little faggot nigger.
{[para]}
What a crunchy little nigger, like figure it out. Like what do you mean, what are you talking about, dude?
{[para]}
Oh my god, oh my god, Oh my god, what a faggot.
{[para]}
Sailer niggers in the chat.
{[para]}
Qwack-a-Daddle nigger.
{[para]}
It's like your choking a black person.
{[para]}
I'm saying it right now.. I never fucked a girl before and it was going to be with you, Ashley.
{[para]}
It was fuckin' awesome dude, I was jacking off at 3:30 in the afternoon.
{[para]}
Suck on her titty, thumb her clit and fuckin' jackhammer at the same time, it'll be to much for her to handle and she will fuckin' blue screen. She's going to lose control and squirt a lil bit.
{[para]}
Niggerly.
{[para]}
If you fucking rupture my Anus like that.. I'm fucking punching somebody..
{[para]}
Don't listen to corona, niggers.
{[para]}
If you got a yeast infection with me bitch.. I'm not you're nigga.. die a little bit.. my yeast infection all white italiano Risso big dick goblin.. figure it out dude.
{[para]}
So.. I was in Hawaii and I was fucking this bitch and I threw her over my shoulder and I nutted and it hit the ceiling fan.. and my nut dripped from the ceiling fan for like two days.. I'll always remember that.
{[para]}
I'll put the bitches in the lac dude and make them orgasm.
{[para]}
Whorebag.. Fuck you Sophia.. You are a negative bitch and I hope you get aids.
{[para]}
Hey.. Do you got a Down syndrome sister I could fuck?
{[para]}
If you introduced me to you significant other and she happened to work at Wendy's, I'd be like what's up with that Baconator, bitch.
{[para]}
Skin flute, nigger, pencil.
{[para]}
Blue cheese, Nigger.
{[para]}
Sand in the fuckin' crocodile, niggers
{[para]}
I didn't piss on the bed, dude.. Die a little bit.
{[para]}
One time in New Orleans, I sniffed cocaine through my penis hole. Get lit.
{[para]}
I bet getting lit and uhh things happen.. Anal? Let me get in there.
{[para]}
If you could just die a little bit and let me sniff you.. like come on.. that's romantic..
{[para]}
Ay give me some of that yum yum sauce on my stream dude, let's go. Hey dude, I will give you so much money if you jerk off right now and cum on my stream, dude.. That would be the most lit stream of all time dude. Let it happen. Thousand dollar donation motherfuckers, nut on my stream there avalanche ass bitch.. What are you talking about, dude.. why aren't you jerking off right now dude? Preheat that oven, dude.. I'll get banned it will be the end of my career but fuck it dude.. Retirement hype. Let's go, ayoo. You better turn the butter mixer dude, let's go. Cum on my stream a lil bit.
{[para]}
I love you that's why I was pretending to be a fag.. FOR YOU.. that's how much I love you.
{[para]}
I mean if a dude got some Jcups, whatup? Like what, let's go. LMNOP.
{[para]}
If I don't love Bec than I'm obviously a fag.
{[para]}
I don't want you to cry, babe. I will fake being with dudes so you know that I'll “baby come back. I'm sorry but I'll go to hell and back.
{[para]}
Ok.. first off I'm not a fag.. I'm not a fag.. I know fag is a bad word whatever, Fag. But like it's not because I'm obviously not.
{[para]}
We've been a lot of places with weird dudes.. and I just didn't even give a fuck.. I don't give a fuck about dudes, right? I give a fuck about you and I love you.
{[para]}
Oh, all of a sudden I'm the fuckin' black guy.
{[para]}
You about to be bi?
{[para]}
I'm not gay.. Fuck you.. I just said I'm gay cause I love you so much and the only way I could look at anyone else is if I'm gay again.. Fag.. Fuck you.. I just profess my love so much that I'd be gay for you and you threw that back into my face.. Fag.. I'm trying to profess my love to you dude.
{[para]}
Ay, what do you want there little guy?
{[para]}
She's hot, dude. You like my car dude? I like it. My balls don't have no STDs, Ayoo.
{[para]}
What am I doing wrong, dude. Fuckin' shit.
{[para]}
I'll fuckin' kill you dude. Fuck you, dude.. Can I sleep, dude. Can I fuckin' sleep dude. Jimeny Christmas.. Am I wrong dude?
{[para]}
What the fucks wrong with you, dude? Get the fuck over here.. Can I kill him? That was becoming.. Should I kill him? I'll kill him dude. What the fuck is wrong with you, dude.. Fuck.. Fucks wrong with you, Fuck Jacob.. You're a nigger.. Fuck is wrong with you dude.. STOP BEING A FAGGOT, DUDE.
{[para]}
Want to head a fucked up joke? What has one head, two arms and three legs? The finish line at the Boston marathon.
{[para]}
I added Paul walker on xbox.. He spends all his time on the dashboard.
{[para]}
There's a guy, he's driving a bowling ball truck. He delivers bowling balls. So this guy he delivers bowling balls, he got a big ol truck with bowling balls in the back of his truck, right. He's driving on the interstate, he sees two black guys with bikes, chains broken, on the side of the road. They're like waving him down, right. He goes “Ay, what's up guys?” He goes “Oh our bikes are broken down, Ay. Can we get a ride to the next city?” And he's like “dude, I don't have any room up here.. Uh I can't do it.” So what they say is like “Cmon man” they convince him.. “ok dude, you guys can be in the back of the fuckin' truck with the bowling balls and shit with your bikes.” “I don't really feel comfortable with this but I got you.” So he's driving down, he misses the weigh station, cop pull his over, he's nervous as fuck sweating bullets. So he's like “you missed the weigh station back there” and he sees the sweat “he's like I'm going to have to check the back of your cab” right? He walks all the way to the back of the thing, opens it up, and shocked eyed “what the fuck?” He runs up “GET OUT OF HERE!” He's like “why, dude?” “You have like thousands of nigger eggs in the back of your truck, somebody started hatching and they're already stealing bikes.”
{[para]}
I'll tell you the greatest blonde joke ever.. I heard this when I was 13 at summer camp from a fat dude. It blew my mind. So a redhead, a blonde and a brunette are at a bar, they get drunk and start talking about how big of whores they are. The redhead goes like “You guys ain't done shit” and she gets up on the bar, drops her shit and sticks two fingers up her pussy. The blonde isn't impressed and the brunette is like “I got you” and sticks her whole fist up her pussy. And the Blonde is like “Are you amateurs done?” Take a shot and falls through the bar stool.
{[para]}
Want me to make you some new teeth?
{[para]}
Ayoo, you're fat as fuck!
{[para]}
AVOCADO NIGGER!
{[para]}
You're poor, figure it out. Imagine being at the super market looking at the cost of nectors and shit. Fuck you, dude.
{[para]}
Want to go rape some fire hydrants?
{[para]}
Why aren't you in flames, faggot?
{[para]}
Not to be racist but you guys are all niggers.
{[para]}
I fucking hate you. You're a faggot, nigger.
{[para]}
Little fucking faggot.. Faggot, shut the fuck up.
{[para]}
I don't know what the fuck you're talking about on some corona virus ass, uh backstreet boy faggot nigger, die..
{[para]}
Hey.. I will fuckin' spooge on your fuckin' face, dude. I will spooge on your face, dude. Hey, heterosexual spooge in your face. BIG FAT LOADS IN YOUR FUCKIN' HETEROSEXUAL MOUTH, NIGGER! NIGGGGER!
{[para]}
I'm ready to go to sleep after this, dude.. Fuckin' shit, dude.. I'm really going to sleep after this dude.. and gum gum gummy bears, n-words and fuckin' figure it out, dude. I'm really going to sleep after this.. I'm lit, dude.. I'm hiccuping. Oooohhhh.. I'll figure it out, dude.. Ayoo. Thank you, dude. I love, I love all my viewers and you're not niggers and figure it out, dude.
{[para]}
Bye, nigger.. I didn't say nigger.. nigger is bad.. like if you're a nigger you're bad, but I didn't say nigger is bad.. uh, fuck it dude.. Hey, I don't care dude.. like Jimeny Christmas, dude. Hey uh, we're.. we're keeping the stream on ay.. Jimeny Christmas.. fuck you, nigger.. uh, I didn't say fuck you nigger.. dude, I'm going to smoke a cigarette I'm going to end the stream.. I'm going to smoke a cigarette and end the stream, dude.. Y'all are a bunch of niggers and figure it out, dude.. and I don't mean anything negative against you niggers and figure it out, niggers.. Fuckin' shit.. Ok.. I'm.. I'm okey-dokey.. I'm going to smoke a cig and call it a night.. Ayoo.. let's do firesales and I don't give a fuck about you.. Dude, I made money off you nigger, figure it out.. Cigarette time.. Cigarette time and then I'm ending the stream.. Ayoo.
{[para]}
Learn the alphabet, nigger.
{[para]}
Your penis is a pen, write accordingly.
{[para]}
Don't rape me, dude.
{[para]}
Im going to rape you.. in your vagina.. faithfully.