diff --git a/videoarchiver/processor/message_handler.py b/videoarchiver/processor/message_handler.py index 0912521..5083150 100644 --- a/videoarchiver/processor/message_handler.py +++ b/videoarchiver/processor/message_handler.py @@ -9,15 +9,28 @@ from typing import Any, ClassVar, Dict, List, Optional, Set, Tuple, TypedDict, T import discord # type: ignore from discord.ext import commands # type: ignore -from ..config_manager import ConfigManager -from .constants import REACTIONS -from .message_validator import MessageValidator, ValidationError -from .url_extractor import URLExtractor, URLMetadata -from ..queue.types import QueuePriority -from ..utils.exceptions import MessageHandlerError +try: + # Try relative imports first + from ..config_manager import ConfigManager + from .constants import REACTIONS + from .message_validator import MessageValidator, ValidationError + from .url_extractor import URLExtractor, URLMetadata + from ..queue.types import QueuePriority + from ..utils.exceptions import MessageHandlerError +except ImportError: + # Fall back to absolute imports if relative imports fail + from videoarchiver.config_manager import ConfigManager + from videoarchiver.processor.constants import REACTIONS + from videoarchiver.processor.message_validator import MessageValidator, ValidationError + from videoarchiver.processor.url_extractor import URLExtractor, URLMetadata + from videoarchiver.queue.types import QueuePriority + from videoarchiver.utils.exceptions import MessageHandlerError if TYPE_CHECKING: - from ..queue.manager import EnhancedVideoQueueManager + try: + from ..queue.manager import EnhancedVideoQueueManager + except ImportError: + from videoarchiver.queue.manager import EnhancedVideoQueueManager logger = logging.getLogger("VideoArchiver")