def __init__( self, username: str, password: str = None, claim_drops_startup: bool = False, # Settings for logging and selenium as you can see. priority: list = [Priority.STREAK, Priority.DROPS, Priority.ORDER], # This settings will be global shared trought Settings class logger_settings: LoggerSettings = LoggerSettings(), # Default values for all streamers streamer_settings: StreamerSettings = StreamerSettings(), ): Settings.analytics_path = os.path.join(Path().absolute(), "analytics", username) Path(Settings.analytics_path).mkdir(parents=True, exist_ok=True) self.username = username # Set as global config Settings.logger = logger_settings # Init as default all the missing values streamer_settings.default() streamer_settings.bet.default() Settings.streamer_settings = streamer_settings user_agent = get_user_agent("FIREFOX") self.twitch = Twitch(self.username, user_agent, password) self.claim_drops_startup = claim_drops_startup self.priority = priority if isinstance(priority, list) else [priority] self.streamers = [] self.events_predictions = {} self.minute_watcher_thread = None self.sync_campaigns_thread = None self.ws_pool = None self.session_id = str(uuid.uuid4()) self.running = False self.start_datetime = None self.original_streamers = [] self.logs_file, self.queue_listener = configure_loggers( self.username, logger_settings) # Check for the latest version of the script current_version, github_version = check_versions() if github_version == "0.0.0": logger.error( "Unable to detect if you have the latest version of this script" ) elif current_version != github_version: logger.info( f"You are running the version {current_version} of this script" ) logger.info(f"The latest version on GitHub is: {github_version}") for sign in [signal.SIGINT, signal.SIGSEGV, signal.SIGTERM]: signal.signal(sign, self.end)
def __init__( self, username: str, password: str = None, claim_drops_startup: bool = False, # Settings for logging and selenium as you can see. priority: list = [Priority.STREAK, Priority.DROPS, Priority.ORDER], # This settings will be global shared trought Settings class logger_settings: LoggerSettings = LoggerSettings(), # Default values for all streamers streamer_settings: StreamerSettings = StreamerSettings(), ): Settings.analytics_path = os.path.join(Path().absolute(), "analytics", username) Path(Settings.analytics_path).mkdir(parents=True, exist_ok=True) self.username = username # Set as global config Settings.logger = logger_settings # Init as default all the missing values streamer_settings.default() streamer_settings.bet.default() Settings.streamer_settings = streamer_settings user_agent = get_user_agent("FIREFOX") self.twitch = Twitch(self.username, user_agent, password) self.claim_drops_startup = claim_drops_startup self.priority = priority if isinstance(priority, list) else [priority] self.streamers = [] self.events_predictions = {} self.minute_watcher_thread = None self.sync_campaigns_thread = None self.ws_pool = None self.session_id = str(uuid.uuid4()) self.running = False self.start_datetime = None self.original_streamers = [] self.logs_file = configure_loggers(self.username, logger_settings) for sign in [signal.SIGINT, signal.SIGSEGV, signal.SIGTERM]: signal.signal(sign, self.end)
def __init__( self, username: str, claim_drops_startup: bool = False, # Settings for logging and selenium as you can see. # This settings will be global shared trought Settings class logger_settings: LoggerSettings = LoggerSettings(), browser_settings: BrowserSettings = BrowserSettings(), # Default values for all streamers streamer_settings: StreamerSettings = StreamerSettings(), ): self.username = username # Set as globally config Settings.logger = logger_settings Settings.browser = browser_settings # Init as default all the missing values streamer_settings.default() streamer_settings.bet.default() Settings.streamer_settings = streamer_settings user_agent = get_user_agent(browser_settings.browser) self.twitch = Twitch(self.username, user_agent) self.twitch_browser = None self.claim_drops_startup = claim_drops_startup self.streamers = [] self.events_predictions = {} self.minute_watcher_thread = None self.ws_pool = None self.session_id = str(uuid.uuid4()) self.running = False self.start_datetime = None self.original_streamers = [] self.logs_file = configure_loggers(self.username, logger_settings) for sign in [signal.SIGINT, signal.SIGSEGV, signal.SIGTERM]: signal.signal(sign, self.end)