diff --git a/gwendolyn/gwendolyn_client.py b/gwendolyn/gwendolyn_client.py index 9df42e1..a4e59f9 100644 --- a/gwendolyn/gwendolyn_client.py +++ b/gwendolyn/gwendolyn_client.py @@ -9,16 +9,15 @@ from gwendolyn.exceptions import NoToken, CannotConnectToService from gwendolyn.funcs import Other, BetterNetflix, Sonarr, Radarr, TMDb, QBittorrent, Money, Games class Gwendolyn(Client): - def __init__(self, testing: bool = True): + def __init__(self): """Initialize the bot.""" initiation_parameters = { "status": Status.DND, - "delete_unused_application_cmds": True + "delete_unused_application_cmds": True, + "sync_interactions": True } super().__init__(**initiation_parameters) - self.testing = testing - self._add_clients_and_options() self._add_functions() self._add_extensions() @@ -26,6 +25,9 @@ class Gwendolyn(Client): def _add_clients_and_options(self): """Add all the client, option and credentials objects.""" load_dotenv() + self.testing = getenv("GWENDOLYN_TESTING", "False").lower() in ('true', '1', 't') + self.enable_nework_services = getenv("NETWORK_SERVICES", "False").lower() in ('true', '1', 't') + self.bot_token = getenv("DISCORD_TOKEN") if self.bot_token == "TOKEN": @@ -54,18 +56,27 @@ class Gwendolyn(Client): def _add_functions(self): self.other = Other(self) self.money = Money(self) - self.better_netflix = BetterNetflix( - self, - radarr=Radarr(getenv("RADARR_IP"),getenv("RADARR_PORT"),getenv("RADARR_API_KEY")), - sonarr=Sonarr(getenv("SONARR_IP"),getenv("SONARR_PORT"),getenv("SONARR_API_KEY")), - tmdb=TMDb(getenv("TMDB_API_ACCESS_TOKEN")), - qbittorrent=QBittorrent(getenv("QBITTORRENT_IP"),getenv("QBITTORRENT_PORT"),getenv("QBITTORRENT_USERNAME"),getenv("QBITTORRENT_PASSWORD")) - ) + if self.enable_nework_services: + self.better_netflix = BetterNetflix( + self, + radarr=Radarr(getenv("RADARR_IP"),getenv("RADARR_PORT"),getenv("RADARR_API_KEY")), + sonarr=Sonarr(getenv("SONARR_IP"),getenv("SONARR_PORT"),getenv("SONARR_API_KEY")), + tmdb=TMDb(getenv("TMDB_API_ACCESS_TOKEN")), + qbittorrent=QBittorrent( + getenv("QBITTORRENT_IP"), + getenv("QBITTORRENT_PORT"), + getenv("QBITTORRENT_USERNAME"), + getenv("QBITTORRENT_PASSWORD") + ) + ) def _add_extensions(self): """Load cogs.""" for filename in listdir("./gwendolyn/ext"): if filename.endswith(".py"): + if filename == "better_netflix.py" and not self.enable_nework_services: + continue + self.load_extension(f"gwendolyn.ext.{filename[:-3]}") def log(self, messages, channel: str = "", level: int = 20): # pylint:disable=no-self-use