implement blackjack prediction into client logging, privatize Blackjack data variables, letter conversion function

This commit is contained in:
Xevion
2021-01-24 19:13:21 -06:00
parent bc204fe13d
commit 58884a43ff
2 changed files with 29 additions and 33 deletions

View File

@@ -1,15 +1,12 @@
import asyncio
import ctypes
import logging
import re
from datetime import datetime
from typing import Optional, Tuple
from typing import Optional
import discord
from discord.ext.tasks import loop
from bot import constants, parsers, timings, helpers
from bot.blackjack import Card
from bot.blackjack import Card, Blackjack
from bot.constants import PlayOptions
logger = logging.getLogger(__file__)
@@ -31,7 +28,7 @@ class UnbelievaClient(discord.Client):
'$crime': timings.Cooldown(20 * 60 + 2),
'$dep all': timings.Cooldown(30 * 60)
}
self.command_cooldown = timings.Cooldown(5)
self.command_cooldown = timings.Cooldown(6.5)
self.money = 0
self.last_deposit = -1
@@ -73,9 +70,11 @@ class UnbelievaClient(discord.Client):
# Handling for blackjack
if embed.description.startswith('Type `hit` to draw another card'):
options = self.parse_options(embed.description)
my_cards = Card.parse_cards(embed.fields[0])
dealer_cards = Card.parse_cards(embed.fields[1])
print(options, my_cards, dealer_cards)
my_cards = Card.parse_cards(embed.fields[0])[1]
dealer_card = Card.parse_cards(embed.fields[1])[1][0]
choice = Blackjack.choose(options, my_cards, dealer_card)
logger.info(f'Predicted best choice for Blackjack: {choice}')
def parse_options(self, options_str: str) -> PlayOptions:
"""
@@ -86,14 +85,6 @@ class UnbelievaClient(discord.Client):
# noinspection PyProtectedMember
return PlayOptions._make(options)
def handle_blackjack(self):
embed = self.current_blackjack.embeds[0]
options = self.parse_options(embed.description)
my_cards = self.parse_cards(embed.fields[0])
dealer_cards = self.parse_cards(embed.fields[1])
print(options, my_cards, dealer_cards)
pass
@loop(seconds=1)
async def check_task_available(self):
"""Loop to run tasks as soon as they are available."""