Use emoji.emojize instead of write emoji in code

This commit is contained in:
Alessandro Maggio
2021-01-13 21:46:08 +01:00
parent 1333db4e28
commit f1ab21a2ac
6 changed files with 38 additions and 31 deletions

View File

@@ -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)
)

View File

@@ -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))

View File

@@ -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)
)

View File

@@ -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:

View File

@@ -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:

View File

@@ -3,4 +3,5 @@ websocket-client
browser_cookie3
pillow
selenium
python-dateutil
python-dateutil
emoji