diff --git a/files/assets/images/emojis/coinflip_edge.webp b/files/assets/images/emojis/coinflip_edge.webp
new file mode 100644
index 0000000000..80357b4959
Binary files /dev/null and b/files/assets/images/emojis/coinflip_edge.webp differ
diff --git a/files/assets/images/emojis/coinflip_heads.webp b/files/assets/images/emojis/coinflip_heads.webp
new file mode 100644
index 0000000000..13a877d7c5
Binary files /dev/null and b/files/assets/images/emojis/coinflip_heads.webp differ
diff --git a/files/assets/images/emojis/coinflip_tails.webp b/files/assets/images/emojis/coinflip_tails.webp
new file mode 100644
index 0000000000..38001000e6
Binary files /dev/null and b/files/assets/images/emojis/coinflip_tails.webp differ
diff --git a/files/helpers/config/const.py b/files/helpers/config/const.py
index 3bfc48d309..16fe96a911 100644
--- a/files/helpers/config/const.py
+++ b/files/helpers/config/const.py
@@ -881,8 +881,13 @@ COLORS = {'ff459a','805ad5','62ca56','38a169','80ffff','2a96f3','eb4963','ff0000
### COMMENT NOTIFICATIONS ###
+COINFLIP_HEADS_OR_TAILS = ('Coinflip: :coinflip_heads:','Coinflip: :coinflip_tails:')
+COINFLIP_EDGE = 'Coinflip: :!marseysoypoint: :coinflip_edge: :marseysoypoint:'
+
FORTUNE_REPLIES = ('Your fortune: Allah Wills It','Your fortune: Inshallah, Only Good Things Shall Come To Pass','Your fortune: Allah Smiles At You This Day','Your fortune: Your Bussy Is In For A Blasting','Your fortune: You Will Be Propositioned By A High-Tier Twink','Your fortune: Repent, You Have Displeased Allah And His Vengeance Is Nigh','Your fortune: Reply Hazy, Try Again','Your fortune: lmao you just lost 100 coins','Your fortune: Yikes π¬','Your fortune: You Will Be Blessed With Many Black Bulls','Your fortune: NEETmax, The Day Is Lost If You Venture Outside','Your fortune: A Taste Of Jannah Awaits You Today','Your fortune: Watch Your Back','Your fortune: Outlook good','Your fortune: Godly Luck','Your fortune: Good Luck','Your fortune: Bad Luck','Your fortune: Good news will come to you by mail','Your fortune: Very Bad Luck','Your fortune: ο½·οΎββββββ(οΎβοΎ)ββββββ !!!!','Your fortune: Better not tell you now','Your fortune: You will meet a dark handsome stranger','Your fortune: οΌγΒ΄_γ`οΌοΎο½°οΎ','Your fortune: Excellent Luck','Your fortune: Average Luck')
+
FACTCHECK_REPLIES = ('Factcheck: This claim has been confirmed as correct by experts. ','Factcheck: This claim has been classified as misogynistic.','Factcheck: This claim is currently being debunked.','Factcheck: This claim is 100% true.','Factcheck: This claim hurts trans lives.','Factcheck: [REDACTED].','Factcheck: This claim is both true and false.','Factcheck: You really believe that shit? Lmao dumbass nigga π€£','Factcheck: None of this is real.','Factcheck: Yes.','Factcheck: This claim has not been approved by experts.','Factcheck: This claim is a gross exageration of reality.','Factcheck: WARNING! THIS CLAIM HAS BEEN CLASSIFIED AS DANGEROUS. PLEASE REMAIN STILL, AN AGENT WILL COME TO MEET YOU SHORTLY.')
+
EIGHTBALL_REPLIES = ('The 8-Ball Says: It is certain.', 'The 8-Ball Says: It is decidedly so.', 'The 8-Ball Says: Without a doubt.', 'The 8-Ball Says: Yes definitely.', 'The 8-Ball Says: You may rely on it.', 'The 8-Ball Says: As I see it, yes.', 'The 8-Ball Says: Most likely.', 'The 8-Ball Says: Outlook good.', 'The 8-Ball Says: Yes.', 'The 8-Ball Says: Signs point to yes.', 'The 8-Ball Says: Reply hazy, try again.', 'The 8-Ball Says: Ask again later.', 'The 8-Ball Says: Better not tell you now.', 'The 8-Ball Says: Cannot predict now.', 'The 8-Ball Says: Concentrate and ask again.', 'The 8-Ball Says: Don\'t count on it.', 'The 8-Ball Says: My reply is no.', 'The 8-Ball Says: My sources say no.', 'The 8-Ball Says: Outlook not so good.', 'The 8-Ball Says: Very doubtful.')
diff --git a/files/helpers/regex.py b/files/helpers/regex.py
index 7ae3fec838..94beb0ed0c 100644
--- a/files/helpers/regex.py
+++ b/files/helpers/regex.py
@@ -205,16 +205,20 @@ commands = {
"fortune": FORTUNE_REPLIES,
"factcheck": FACTCHECK_REPLIES,
"8ball": EIGHTBALL_REPLIES,
- "roll": range(1, 10000)
+ "roll": range(1, 10000),
+ "coinflip": COINFLIP_HEADS_OR_TAILS,
}
-command_regex = re.compile("(\s|^)#(fortune|factcheck|8ball|roll)", flags=re.A|re.I)
+command_regex = re.compile("(\s|^)#(fortune|factcheck|8ball|roll|coinflip)", flags=re.A|re.I)
def command_regex_matcher(match, upper=False):
- result = str(choice(commands[match.group(2).lower()]))
- if match.group(2) == 'roll':
- color = tuple(choices(range(256), k=3))
- result = f'Your roll: {result}'
+ if match.group(2) == 'coinflip' and random.random() < 0.05:
+ result = COINFLIP_EDGE
+ else:
+ result = str(choice(commands[match.group(2).lower()]))
+ if match.group(2) == 'roll':
+ color = tuple(choices(range(256), k=3))
+ result = f'Your roll: {result}'
return match.group(1) + result
reason_regex_post = re.compile('(/post/[0-9]+)', flags=re.A)