Handle gamestates without full lineups Added /set command for lineup and SP Fixed uncapped hit bugs Added league_name property to Games Fix get_team for gauntlets Fixed SelectSP dropdown bug
92 lines
1.7 KiB
Python
92 lines
1.7 KiB
Python
import logging
|
|
from typing import Literal
|
|
|
|
logger = logging.getLogger('discord_app')
|
|
|
|
def log_exception(e: Exception, msg: str = '', level: Literal['debug', 'error', 'info', 'warn'] = 'error'):
|
|
if level == 'debug':
|
|
logger.debug(msg, exc_info=True, stack_info=True)
|
|
elif level == 'error':
|
|
logger.error(msg, exc_info=True, stack_info=True)
|
|
elif level == 'info':
|
|
logger.info(msg, exc_info=True, stack_info=True)
|
|
else:
|
|
logger.warning(msg, exc_info=True, stack_info=True)
|
|
|
|
# Check if 'e' is an exception class or instance
|
|
if isinstance(e, Exception):
|
|
raise e # If 'e' is already an instance of an exception
|
|
else:
|
|
raise e(msg) # If 'e' is an exception class
|
|
|
|
class GameException(Exception):
|
|
pass
|
|
|
|
|
|
class LineupsMissingException(GameException):
|
|
pass
|
|
|
|
|
|
class CardLegalityException(GameException):
|
|
pass
|
|
|
|
|
|
class CardNotFoundException(GameException):
|
|
pass
|
|
|
|
|
|
class GameNotFoundException(GameException):
|
|
pass
|
|
|
|
|
|
class TeamNotFoundException(GameException):
|
|
pass
|
|
|
|
|
|
class PlayNotFoundException(GameException):
|
|
pass
|
|
|
|
|
|
class PlayerNotFoundException(GameException):
|
|
pass
|
|
|
|
|
|
class PlayInitException(GameException):
|
|
pass
|
|
|
|
|
|
class DatabaseError(GameException):
|
|
pass
|
|
|
|
|
|
class PositionNotFoundException(GameException):
|
|
pass
|
|
|
|
|
|
class NoPlayerResponseException(GameException):
|
|
pass
|
|
|
|
|
|
class MultipleHumanTeamsException(GameException):
|
|
pass
|
|
|
|
|
|
class NoHumanTeamsException(GameException):
|
|
pass
|
|
|
|
|
|
class GoogleSheetsException(GameException):
|
|
pass
|
|
|
|
|
|
class InvalidResultException(GameException):
|
|
pass
|
|
|
|
|
|
class ButtonOptionNotChosen(Exception):
|
|
pass
|
|
|
|
|
|
class MissingRoleException(GameException):
|
|
pass
|