mirror of
https://github.com/Xevion/unbelievaselfbot.git
synced 2025-12-08 12:08:59 -06:00
PlayOptions namedtuple constant class, uncommitted exceptions, use re.compile in parsers regex for IDE color formatting, change logging
This commit is contained in:
@@ -87,17 +87,14 @@ class UnbelievaClient(discord.Client):
|
|||||||
print(options, my_cards, dealer_cards)
|
print(options, my_cards, dealer_cards)
|
||||||
# self.current_blackjack = message
|
# self.current_blackjack = message
|
||||||
|
|
||||||
def parse_options(self, options_str: str) -> Tuple[bool, bool, bool, bool]:
|
def parse_options(self, options_str: str) -> PlayOptions:
|
||||||
"""
|
"""
|
||||||
Return a tuple of booleans describing what the player can do.
|
Return a tuple of booleans describing what the player can do.
|
||||||
Tuple Options: [hit, stand, double_down, split]
|
Tuple Options: [hit, stand, double_down, split]
|
||||||
"""
|
"""
|
||||||
return (
|
options = [f'`{sub}`' in options_str for sub in ['hit', 'stand', 'double down', 'split']]
|
||||||
'`hit`' in options_str,
|
# noinspection PyProtectedMember
|
||||||
'`stand`' in options_str,
|
return PlayOptions._make(options)
|
||||||
'`double down`' in options_str,
|
|
||||||
'`split`' in options_str
|
|
||||||
)
|
|
||||||
|
|
||||||
def parse_cards(self, card_str: discord.embeds.EmbedProxy) -> Tuple[str, Optional[str], Tuple[int, bool]]:
|
def parse_cards(self, card_str: discord.embeds.EmbedProxy) -> Tuple[str, Optional[str], Tuple[int, bool]]:
|
||||||
"""
|
"""
|
||||||
|
|||||||
3
bot/constants.py
Normal file
3
bot/constants.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from collections import namedtuple
|
||||||
|
|
||||||
|
PlayOptions = namedtuple('PlayOptions', ['hit', 'stand', 'double', 'split'])
|
||||||
@@ -12,3 +12,11 @@ class NoAceValue(BlackjackException):
|
|||||||
|
|
||||||
class IndetermineValue(BlackjackException):
|
class IndetermineValue(BlackjackException):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class InvalidCard(BlackjackException):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class CooldownRequired(UnbelievableException):
|
||||||
|
pass
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ class EmbedMessage(BaseMessage, ABC):
|
|||||||
|
|
||||||
|
|
||||||
class TaskCooldownMessage(EmbedMessage):
|
class TaskCooldownMessage(EmbedMessage):
|
||||||
COOLDOWN_REGEX = r'You cannot (work|be a slut|commit a crime) for ([\w\s]+)\.'
|
COOLDOWN_REGEX = re.compile(r'You cannot (work|be a slut|commit a crime) for ([\w\s]+)\.')
|
||||||
DURATION_REGEX = r'(\d+) (hour|minute|second)s?(?: and (\d+) (hour|minute|second)s?)?'
|
DURATION_REGEX = re.compile(r'(\d+) (hour|minute|second)s?(?: and (\d+) (hour|minute|second)s?)?')
|
||||||
DELAY = 2
|
DELAY = 2
|
||||||
|
|
||||||
durations = {'hour': 3600, 'minute': 60, 'second': 1}
|
durations = {'hour': 3600, 'minute': 60, 'second': 1}
|
||||||
@@ -60,16 +60,19 @@ class TaskCooldownMessage(EmbedMessage):
|
|||||||
|
|
||||||
|
|
||||||
class TaskResponse(EmbedMessage):
|
class TaskResponse(EmbedMessage):
|
||||||
|
MONEY_REGEX = re.compile(r'\$([0-9,]+)')
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.change = 0
|
|
||||||
|
|
||||||
money_match = re.search(r'\$([0-9,]+)', self.embed.description)
|
self.change = 0
|
||||||
|
money_match = re.search(r'', self.embed.description)
|
||||||
if money_match and 'deposited' not in self.embed.description.lower():
|
if money_match and 'deposited' not in self.embed.description.lower():
|
||||||
change = int(money_match.group(1).replace(',', ''))
|
change = int(money_match.group(1).replace(',', ''))
|
||||||
if self.embed.colour.value == 6732650:
|
if self.embed.colour.value == 6732650:
|
||||||
self.change += change
|
self.change += change
|
||||||
# logger.info(f'Gained ${change}')
|
logger.info(f'{self.message.author} Gained ${change}')
|
||||||
if self.embed.colour.value == 15684432:
|
if self.embed.colour.value == 15684432:
|
||||||
self.change -= change
|
self.change -= change
|
||||||
|
logger.info(f'{self.message.author} Lost ${change}')
|
||||||
# logger.info(f'Lost ${change}')
|
# logger.info(f'Lost ${change}')
|
||||||
|
|||||||
Reference in New Issue
Block a user