Use emoji.emojize instead of write emoji in code
This commit is contained in:
@@ -6,6 +6,7 @@ import time
|
||||
import os
|
||||
import uuid
|
||||
import copy
|
||||
import emoji
|
||||
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
@@ -91,7 +92,7 @@ class TwitchChannelPointsMiner:
|
||||
if self.running:
|
||||
logger.error("You can't start multiple session of this istance!")
|
||||
else:
|
||||
logger.info(f"Start session: {self.session_id}")
|
||||
logger.info(emoji.emojize(f":bomb: Start session: {self.session_id}", use_aliases=True))
|
||||
self.running = True
|
||||
self.start_datetime = datetime.now()
|
||||
|
||||
@@ -104,7 +105,7 @@ class TwitchChannelPointsMiner:
|
||||
streamer = Streamer(streamer_username, channel_id)
|
||||
self.streamers.append(streamer)
|
||||
except StreamerDoesNotExistException:
|
||||
logger.info(f"😞 Streamer {streamer_username} does not exist")
|
||||
logger.info(emoji.emojize(f":cry: Streamer {streamer_username} does not exist", use_aliases=True))
|
||||
|
||||
for streamer in self.streamers:
|
||||
self.twitch.load_channel_points_context(streamer)
|
||||
@@ -180,17 +181,17 @@ class TwitchChannelPointsMiner:
|
||||
def __print_report(self):
|
||||
print("\n")
|
||||
logger.info(
|
||||
f"🔌 End session '{self.session_id}' at: {datetime.now().strftime('%d/%m/%Y %H:%M:%S')}"
|
||||
emoji.emojize(f":electric_plug: End session '{self.session_id}' at: {datetime.now().strftime('%d/%m/%Y %H:%M:%S')}", use_aliases=True)
|
||||
)
|
||||
logger.info(f"⌛ Duration {datetime.now() - self.start_datetime}")
|
||||
logger.info(emoji.emojize(f":hourglass: Duration {datetime.now() - self.start_datetime}", use_aliases=True))
|
||||
|
||||
if self.make_predictions:
|
||||
logger.info(
|
||||
f"📊 Bet settings: Strategy={self.bet_strategy}, Percentage={self.bet_percentage}, Percentage Gap={self.bet_percentage_gap}, Max points={self.bet_max_points}"
|
||||
emoji.emojize(f":bar_chart: Bet settings: Strategy={self.bet_strategy}, Percentage={self.bet_percentage}, Percentage Gap={self.bet_percentage_gap}, Max points={self.bet_max_points}", use_aliases=True)
|
||||
)
|
||||
print('')
|
||||
|
||||
for streamer_index in range(0, len(self.streamers)):
|
||||
logger.info(
|
||||
f"📽️ {self.streamers[streamer_index]} - Gained: {self.streamers[streamer_index].channel_points - self.original_streamers[streamer_index].channel_points}, Bonus claimed: {self.streamers[streamer_index].bonus_claimed}"
|
||||
emoji.emojize(f":movie_camera: {self.streamers[streamer_index]} - Gained: {self.streamers[streamer_index].channel_points - self.original_streamers[streamer_index].channel_points}, Bonus claimed: {self.streamers[streamer_index].bonus_claimed}", use_aliases=True)
|
||||
)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import time
|
||||
import logging
|
||||
import emoji
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -29,9 +30,9 @@ class Streamer:
|
||||
def set_offline(self):
|
||||
self.offline_at = time.time()
|
||||
self.is_online = False
|
||||
logger.info(f"😴 {self} is Offline!")
|
||||
logger.info(emoji.emojize(f":sleeping: {self} is Offline!", use_aliases=True))
|
||||
|
||||
def set_online(self):
|
||||
self.online_at = time.time()
|
||||
self.is_online = True
|
||||
logger.info(f"🥳 {self} is Online!")
|
||||
logger.info(emoji.emojize(f":partying_face: {self} is Online!", use_aliases=True))
|
||||
|
||||
@@ -10,6 +10,7 @@ import re
|
||||
import os
|
||||
import time
|
||||
import logging
|
||||
import emoji
|
||||
|
||||
from base64 import b64encode
|
||||
from pathlib import Path
|
||||
@@ -114,7 +115,7 @@ class Twitch:
|
||||
streamer.set_online()
|
||||
|
||||
def claim_channel_points_bonus(self, streamer, claim_id):
|
||||
logger.info(f"🎁 Claiming the bonus for {streamer}!")
|
||||
logger.info(emoji.emojize(f":gift: Claiming the bonus for {streamer}!", use_aliases=True))
|
||||
json_data = {
|
||||
"operationName": "ClaimCommunityPoints",
|
||||
"variables": {
|
||||
@@ -235,5 +236,5 @@ class Twitch:
|
||||
)
|
||||
|
||||
logger.info(
|
||||
f"⚔️ Joining raid from {streamer.username} to {raid.target_login}!"
|
||||
emoji.emojize(f":crossed_swords: Joining raid from {streamer.username} to {raid.target_login}!", use_aliases=True)
|
||||
)
|
||||
|
||||
@@ -2,6 +2,7 @@ import time
|
||||
import logging
|
||||
import random
|
||||
import os
|
||||
import emoji
|
||||
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
@@ -74,7 +75,7 @@ class TwitchBrowser:
|
||||
self.__init_twitch()
|
||||
|
||||
def __init_twitch(self):
|
||||
logger.info("⚙️ Init Twitch page - Cookie - LocalStorage items")
|
||||
logger.info(emoji.emojize(":wrench: Init Twitch page - Cookie - LocalStorage items", use_aliases=True))
|
||||
cookie = {
|
||||
"domain": ".twitch.tv",
|
||||
"hostOnly": False,
|
||||
@@ -112,7 +113,7 @@ class TwitchBrowser:
|
||||
|
||||
# Private method __ - We can instantiate webdriver only with init_browser
|
||||
def __init_chrome(self, show):
|
||||
logger.info("⚙️ Init Chrome browser")
|
||||
logger.info(emoji.emojize(":wrench: Init Chrome browser", use_aliases=True))
|
||||
options = webdriver.ChromeOptions()
|
||||
options.add_argument("--mute-audio")
|
||||
if not show:
|
||||
@@ -129,7 +130,7 @@ class TwitchBrowser:
|
||||
|
||||
# Private method __ - We can instantiate webdriver only with init_browser
|
||||
def __init_firefox(self, show):
|
||||
logger.info("⚙️ Init Firefox browser")
|
||||
logger.info(emoji.emojize(":wrench: Init Firefox browser", use_aliases=True))
|
||||
options = webdriver.FirefoxOptions()
|
||||
if not show:
|
||||
options.headless = True
|
||||
@@ -212,7 +213,7 @@ class TwitchBrowser:
|
||||
)
|
||||
else:
|
||||
logger.info(
|
||||
f"⚙️ Start betting at {event.streamer.chat_url} for event: {event}"
|
||||
emoji.emojize(f":wrench: Start betting at {event.streamer.chat_url} for event: {event}", use_aliases=True)
|
||||
)
|
||||
self.browser.get(event.streamer.chat_url)
|
||||
time.sleep(random.uniform(4, 6))
|
||||
@@ -223,7 +224,7 @@ class TwitchBrowser:
|
||||
|
||||
def complete_bet(self, event: EventPrediction):
|
||||
logger.info(
|
||||
f"⚙️ Going to complete bet for event {event}. Current url page: {self.browser.current_url}"
|
||||
emoji.emojize(f":wrench: Going to complete bet for event {event}. Current url page: {self.browser.current_url}", use_aliases=True)
|
||||
)
|
||||
if event.box_fillable and self.currently_is_betting:
|
||||
decision = event.bet.calculate(
|
||||
@@ -238,7 +239,7 @@ class TwitchBrowser:
|
||||
|
||||
try:
|
||||
logger.info(
|
||||
f"⚙️ Going to write: {decision['amount']} on input {decision['choice']}"
|
||||
emoji.emojize(f":wrench: Going to write: {decision['amount']} on input {decision['choice']}", use_aliases=True)
|
||||
)
|
||||
self.__send_text(
|
||||
streamBetVoteInput + selector_index,
|
||||
@@ -277,21 +278,21 @@ class TwitchBrowser:
|
||||
)
|
||||
|
||||
def __open_coins_menu(self, event: EventPrediction):
|
||||
logger.info(f"⚙️ Open coins menu for event: {event}")
|
||||
logger.info(emoji.emojize(f":wrench: Open coins menu for event: {event}", use_aliases=True))
|
||||
self.__click_when_exist(streamCoinsMenu, By.XPATH)
|
||||
time.sleep(random.uniform(0.05, 0.1))
|
||||
if self.do_screenshot:
|
||||
self.screenshot(f"{event.event_id}___open_coins_menu.png".format)
|
||||
|
||||
def __click_on_bet(self, event):
|
||||
logger.info(f"⚙️ Click on the bet for event: {event}")
|
||||
logger.info(emoji.emojize(f":wrench: Click on the bet for event: {event}", use_aliases=True))
|
||||
self.__click_when_exist(streamBetTitleInBet, By.CSS_SELECTOR)
|
||||
time.sleep(random.uniform(0.05, 0.1))
|
||||
if self.do_screenshot:
|
||||
self.screenshot(f"{event.event_id}___click_on_bet.png".format)
|
||||
|
||||
def __enable_custom_bet_value(self, event):
|
||||
logger.info(f"⚙️ Enable input of custom value for event: {event}")
|
||||
logger.info(emoji.emojize(f":wrench: Enable input of custom value for event: {event}", use_aliases=True))
|
||||
if self.__click_when_exist(streamBetCustomVote, By.CSS_SELECTOR) is not None:
|
||||
time.sleep(random.uniform(0.05, 0.1))
|
||||
if self.do_screenshot:
|
||||
|
||||
@@ -2,6 +2,7 @@ import logging
|
||||
import threading
|
||||
import time
|
||||
import json
|
||||
import emoji
|
||||
|
||||
from dateutil import parser
|
||||
|
||||
@@ -81,14 +82,15 @@ class WebSocketsPool:
|
||||
|
||||
@staticmethod
|
||||
def handle_websocket_reconnection(ws):
|
||||
ws.is_closed = True
|
||||
logger.info("Reconnecting to Twitch PubSub server in 30 seconds")
|
||||
time.sleep(30)
|
||||
self = ws.parent_pool
|
||||
if self.ws == ws:
|
||||
self.ws = None
|
||||
for topic in ws.topics:
|
||||
self.submit(topic)
|
||||
if ws.keep_running:
|
||||
ws.is_closed = True
|
||||
logger.info("Reconnecting to Twitch PubSub server in 30 seconds")
|
||||
time.sleep(30)
|
||||
self = ws.parent_pool
|
||||
if self.ws == ws:
|
||||
self.ws = None
|
||||
for topic in ws.topics:
|
||||
self.submit(topic)
|
||||
|
||||
@staticmethod
|
||||
def on_message(ws, message):
|
||||
@@ -127,7 +129,7 @@ class WebSocketsPool:
|
||||
"balance"
|
||||
]["balance"]
|
||||
logger.info(
|
||||
f"🚀 +{earned} → {ws.streamers[streamer_index]} - Reason: {message_data['point_gain']['reason_code']}."
|
||||
emoji.emojize(f":rocket: +{earned} → {ws.streamers[streamer_index]} - Reason: {message_data['point_gain']['reason_code']}.", use_aliases=True)
|
||||
)
|
||||
elif message_type == "claim-available":
|
||||
streamer_index = get_streamer_index(
|
||||
@@ -194,7 +196,7 @@ class WebSocketsPool:
|
||||
# complete_bet_thread.start()
|
||||
|
||||
logger.info(
|
||||
f"⏰ A thread should start and place the bet after: {event.closing_bet_after(current_timestamp)}s for the event: {ws.events_predictions[event_id]}"
|
||||
emoji.emojize(f":alarm_clock: A thread should start and place the bet after: {event.closing_bet_after(current_timestamp)}s for the event: {ws.events_predictions[event_id]}", use_aliases=True)
|
||||
)
|
||||
|
||||
else:
|
||||
@@ -211,7 +213,7 @@ class WebSocketsPool:
|
||||
event_id = message_data["event"]["id"]
|
||||
if event_id in ws.events_predictions:
|
||||
logger.info(
|
||||
f"📊 {ws.events_predictions[event_id]} - Result: {message_data['event']['result']['type']}, Points won: {message_data['event']['result']['type'] if message_data['event']['result']['type'] else 0}"
|
||||
emoji.emojize(f":bar_chart: {ws.events_predictions[event_id]} - Result: {message_data['event']['result']['type']}, Points won: {message_data['event']['result']['type'] if message_data['event']['result']['type'] else 0}", use_aliases=True)
|
||||
)
|
||||
|
||||
elif response["type"] == "RESPONSE" and len(response.get("error", "")) > 0:
|
||||
|
||||
@@ -3,4 +3,5 @@ websocket-client
|
||||
browser_cookie3
|
||||
pillow
|
||||
selenium
|
||||
python-dateutil
|
||||
python-dateutil
|
||||
emoji
|
||||
Reference in New Issue
Block a user