Merge branch 'complete-rework' of git.ingemanngade.net:NikolajDanger/Gwendolyn into complete-rework

This commit is contained in:
2025-10-28 15:45:36 +01:00

View File

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