From a940143732fcd3422fedb4cca814ab3d3dc72af1 Mon Sep 17 00:00:00 2001 From: Roman Davydov <15850461+rdavydov@users.noreply.github.com> Date: Mon, 12 Jun 2023 00:23:08 +0300 Subject: [PATCH] disable_at_in_nickname setting --- TwitchChannelPointsMiner/TwitchChannelPointsMiner.py | 4 ++++ TwitchChannelPointsMiner/classes/Chat.py | 10 ++++++++-- TwitchChannelPointsMiner/classes/Settings.py | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py b/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py index f071568b..9aed9a55 100644 --- a/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py +++ b/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py @@ -56,6 +56,7 @@ class TwitchChannelPointsMiner: "claim_drops_startup", "enable_analytics", "disable_ssl_cert_verification", + "disable_at_in_nickname", "priority", "streamers", "events_predictions", @@ -77,6 +78,7 @@ def __init__( claim_drops_startup: bool = False, enable_analytics: bool = False, disable_ssl_cert_verification: bool = False, + disable_at_in_nickname: 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 @@ -94,6 +96,8 @@ def __init__( # This disables certificate verification and allows the connection to proceed, but also makes it vulnerable to man-in-the-middle (MITM) attacks. Settings.disable_ssl_cert_verification = disable_ssl_cert_verification + Settings.disable_at_in_nickname = disable_at_in_nickname + import socket def is_connected(): diff --git a/TwitchChannelPointsMiner/classes/Chat.py b/TwitchChannelPointsMiner/classes/Chat.py index b73484d0..ef58d8ef 100644 --- a/TwitchChannelPointsMiner/classes/Chat.py +++ b/TwitchChannelPointsMiner/classes/Chat.py @@ -6,7 +6,7 @@ from irc.bot import SingleServerIRCBot from TwitchChannelPointsMiner.constants import IRC, IRC_PORT -from TwitchChannelPointsMiner.classes.Settings import Events +from TwitchChannelPointsMiner.classes.Settings import Events, Settings logger = logging.getLogger(__name__) @@ -58,10 +58,16 @@ def on_join(self, connection, event): # """ def on_pubmsg(self, connection, event): msg = event.arguments[0] + mention = None + + if Settings.disable_at_in_nickname is True: + mention = f"{self._nickname.lower()}" + else: + mention = f"@{self._nickname.lower()}" # also self._realname # if msg.startswith(f"@{self._nickname}"): - if f"@{self._nickname.lower()}" in msg.lower(): + if mention != None and mention in msg.lower(): # nickname!username@nickname.tmi.twitch.tv nick = event.source.split("!", 1)[0] # chan = event.target diff --git a/TwitchChannelPointsMiner/classes/Settings.py b/TwitchChannelPointsMiner/classes/Settings.py index 58698078..3db6b621 100644 --- a/TwitchChannelPointsMiner/classes/Settings.py +++ b/TwitchChannelPointsMiner/classes/Settings.py @@ -21,7 +21,7 @@ def __str__(self): # Empty object shared between class class Settings(object): __slots__ = ["logger", "streamer_settings", - "enable_analytics", "disable_ssl_cert_verification"] + "enable_analytics", "disable_ssl_cert_verification", "disable_at_in_nickname"] class Events(Enum):