mirror of
https://github.com/luigieai/homelab.git
synced 2025-06-06 07:36:37 -03:00
92 lines
No EOL
7 KiB
Python
92 lines
No EOL
7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import logging
|
|
from colorama import Fore
|
|
from TwitchChannelPointsMiner import TwitchChannelPointsMiner
|
|
from TwitchChannelPointsMiner.logger import LoggerSettings, ColorPalette
|
|
from TwitchChannelPointsMiner.classes.Chat import ChatPresence
|
|
from TwitchChannelPointsMiner.classes.Discord import Discord
|
|
from TwitchChannelPointsMiner.classes.Webhook import Webhook
|
|
from TwitchChannelPointsMiner.classes.Telegram import Telegram
|
|
from TwitchChannelPointsMiner.classes.Matrix import Matrix
|
|
from TwitchChannelPointsMiner.classes.Pushover import Pushover
|
|
from TwitchChannelPointsMiner.classes.Settings import Priority, Events, FollowersOrder
|
|
from TwitchChannelPointsMiner.classes.entities.Bet import Strategy, BetSettings, Condition, OutcomeKeys, FilterCondition, DelayMode
|
|
from TwitchChannelPointsMiner.classes.entities.Streamer import Streamer, StreamerSettings
|
|
|
|
twitch_miner = TwitchChannelPointsMiner(
|
|
username="${twitch_username}",
|
|
password="${twitch_password}", # If no password will be provided, the script will ask interactively
|
|
claim_drops_startup=False, # If you want to auto claim all drops from Twitch inventory on the startup
|
|
priority=[ # Custom priority in this case for example:
|
|
Priority.ORDER # - When we have all of the drops claimed and no watch-streak available, use the order priority (POINTS_ASCENDING, POINTS_DESCENDING)
|
|
],
|
|
enable_analytics=False, # Disables Analytics if False. Disabling it significantly reduces memory consumption
|
|
disable_ssl_cert_verification=False, # Set to True at your own risk and only to fix SSL: CERTIFICATE_VERIFY_FAILED error
|
|
disable_at_in_nickname=False, # Set to True if you want to check for your nickname mentions in the chat even without @ sign
|
|
logger_settings=LoggerSettings(
|
|
save=True, # If you want to save logs in a file (suggested)
|
|
console_level=logging.INFO, # Level of logs - use logging.DEBUG for more info
|
|
console_username=True, # Adds a username to every console log line if True. Also adds it to Telegram, Discord, etc. Useful when you have several accounts
|
|
auto_clear=True, # Create a file rotation handler with interval = 1D and backupCount = 7 if True (default)
|
|
time_zone="America/Sao_Paulo", # Set a specific time zone for console and file loggers. Use tz database names. Example: "America/Denver"
|
|
file_level=logging.INFO, # Level of logs - If you think the log file it's too big, use logging.INFO
|
|
emoji=True, # On Windows, we have a problem printing emoji. Set to false if you have a problem
|
|
less=False, # If you think that the logs are too verbose, set this to True
|
|
colored=True, # If you want to print colored text
|
|
color_palette=ColorPalette( # You can also create a custom palette color (for the common message).
|
|
STREAMER_online="GREEN", # Don't worry about lower/upper case. The script will parse all the values.
|
|
streamer_offline='red', # Read more in README.md
|
|
BET_wiN=Fore.MAGENTA # Color allowed are: [BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET].
|
|
),
|
|
discord=Discord(
|
|
webhook_api="${discord_webhook}", # Discord Webhook URL
|
|
events=[Events.STREAMER_ONLINE, Events.STREAMER_OFFLINE, Events.CHAT_MENTION,
|
|
Events.MOMENT_CLAIM, Events.BONUS_CLAIM, Events.GAIN_FOR_WATCH, Events.GAIN_FOR_CLAIM], # Only these events will be sent to the chat
|
|
),
|
|
),
|
|
streamer_settings=StreamerSettings(
|
|
make_predictions=False, # If you want to Bet / Make prediction
|
|
follow_raid=True, # Follow raid to obtain more points
|
|
claim_drops=False, # We can't filter rewards base on stream. Set to False for skip viewing counter increase and you will never obtain a drop reward from this script. Issue #21
|
|
claim_moments=True, # If set to True, https://help.twitch.tv/s/article/moments will be claimed when available
|
|
watch_streak=False, # If a streamer go online change the priority of streamers array and catch the watch screak. Issue #11
|
|
chat=ChatPresence.ONLINE, # Join irc chat to increase watch-time [ALWAYS, NEVER, ONLINE, OFFLINE]
|
|
bet=BetSettings(
|
|
strategy=Strategy.SMART, # Choose you strategy!
|
|
percentage=5, # Place the x% of your channel points
|
|
percentage_gap=20, # Gap difference between outcomesA and outcomesB (for SMART strategy)
|
|
max_points=50000, # If the x percentage of your channel points is gt bet_max_points set this value
|
|
stealth_mode=True, # If the calculated amount of channel points is GT the highest bet, place the highest value minus 1-2 points Issue #33
|
|
delay_mode=DelayMode.FROM_END, # When placing a bet, we will wait until `delay` seconds before the end of the timer
|
|
delay=6,
|
|
minimum_points=20000, # Place the bet only if we have at least 20k points. Issue #113
|
|
filter_condition=FilterCondition(
|
|
by=OutcomeKeys.TOTAL_USERS, # Where apply the filter. Allowed [PERCENTAGE_USERS, ODDS_PERCENTAGE, ODDS, TOP_POINTS, TOTAL_USERS, TOTAL_POINTS]
|
|
where=Condition.LTE, # 'by' must be [GT, LT, GTE, LTE] than value
|
|
value=800
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
# You can customize the settings for each streamer. If not settings were provided, the script would use the streamer_settings from TwitchChannelPointsMiner.
|
|
# If no streamer_settings are provided in TwitchChannelPointsMiner the script will use default settings.
|
|
# The streamers array can be a String -> username or Streamer instance.
|
|
|
|
# The settings priority are: settings in mine function, settings in TwitchChannelPointsMiner instance, default settings.
|
|
# For example, if in the mine function you don't provide any value for 'make_prediction' but you have set it on TwitchChannelPointsMiner instance, the script will take the value from here.
|
|
# If you haven't set any value even in the instance the default one will be used
|
|
|
|
#twitch_miner.analytics(host="127.0.0.1", port=5000, refresh=5, days_ago=7) # Start the Analytics web-server
|
|
|
|
twitch_miner.mine(
|
|
[
|
|
"hydrasung",
|
|
"lilithomen",
|
|
"bida",
|
|
"gaules",
|
|
], # Array of streamers (order = priority)
|
|
followers=False, # Automatic download the list of your followers
|
|
followers_order=FollowersOrder.ASC # Sort the followers list by follow date. ASC or DESC
|
|
) |