From 69090d6da1cf2520aa08d17e483c49e12e264c0c Mon Sep 17 00:00:00 2001 From: teknium1 Date: Wed, 11 Mar 2026 03:23:53 -0700 Subject: [PATCH] fix: add **kwargs to base/telegram media send methods for metadata routing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The MEDIA routing in _process_message_background passes metadata=_thread_metadata to send_video, send_document, and send_image_file — but none accepted it, causing TypeError silently caught by the except handler. Files just failed to send. Fix: add **kwargs to all four base class media methods and their Telegram overrides. --- gateway/platforms/base.py | 4 ++++ gateway/platforms/telegram.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/gateway/platforms/base.py b/gateway/platforms/base.py index f4ab43ea..ba8d763c 100644 --- a/gateway/platforms/base.py +++ b/gateway/platforms/base.py @@ -516,6 +516,7 @@ class BasePlatformAdapter(ABC): audio_path: str, caption: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """ Send an audio file as a native voice message via the platform API. @@ -535,6 +536,7 @@ class BasePlatformAdapter(ABC): video_path: str, caption: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """ Send a video natively via the platform API. @@ -554,6 +556,7 @@ class BasePlatformAdapter(ABC): caption: Optional[str] = None, file_name: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """ Send a document/file natively via the platform API. @@ -572,6 +575,7 @@ class BasePlatformAdapter(ABC): image_path: str, caption: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """ Send a local image file natively via the platform API. diff --git a/gateway/platforms/telegram.py b/gateway/platforms/telegram.py index 390d0104..5243d302 100644 --- a/gateway/platforms/telegram.py +++ b/gateway/platforms/telegram.py @@ -353,6 +353,7 @@ class TelegramAdapter(BasePlatformAdapter): image_path: str, caption: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """Send a local image file natively as a Telegram photo.""" if not self._bot: @@ -387,6 +388,7 @@ class TelegramAdapter(BasePlatformAdapter): caption: Optional[str] = None, file_name: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """Send a document/file natively as a Telegram file attachment.""" if not self._bot: @@ -417,6 +419,7 @@ class TelegramAdapter(BasePlatformAdapter): video_path: str, caption: Optional[str] = None, reply_to: Optional[str] = None, + **kwargs, ) -> SendResult: """Send a video natively as a Telegram video message.""" if not self._bot: