diff --git a/videoarchiver/config_manager.py b/videoarchiver/config_manager.py index f2cf088..71399fe 100644 --- a/videoarchiver/config_manager.py +++ b/videoarchiver/config_manager.py @@ -5,7 +5,7 @@ import discord import logging from datetime import datetime import asyncio -from .exceptions import ConfigError, DiscordAPIError +from .utils.exceptions import ConfigurationError as ConfigError, DiscordAPIError logger = logging.getLogger('VideoArchiver') diff --git a/videoarchiver/exceptions.py b/videoarchiver/exceptions.py index 109a7bb..9a44787 100644 --- a/videoarchiver/exceptions.py +++ b/videoarchiver/exceptions.py @@ -6,6 +6,7 @@ from .utils.exceptions import ( VideoVerificationError, QueueError, FileCleanupError, + DiscordAPIError, ) # Re-export base exceptions @@ -18,6 +19,7 @@ __all__ = [ 'UpdateError', 'ProcessingError', 'ConfigError', + 'DiscordAPIError', ] # Alias exceptions for backward compatibility diff --git a/videoarchiver/utils/exceptions.py b/videoarchiver/utils/exceptions.py index 52f2c98..0a50c36 100644 --- a/videoarchiver/utils/exceptions.py +++ b/videoarchiver/utils/exceptions.py @@ -51,3 +51,9 @@ class QueueError(VideoArchiverError): class ComponentError(VideoArchiverError): """Error with component initialization or cleanup""" pass + +class DiscordAPIError(VideoArchiverError): + """Error with Discord API operations""" + def __init__(self, message: str, status_code: int = None): + self.status_code = status_code + super().__init__(f"Discord API Error: {message} (Status: {status_code if status_code else 'Unknown'})")