@@ -591,6 +591,8 @@ async def send_translated(self, content: str, *, me: bool = False, langcode: str
591591 Twitch failed to process the message, could be ``400``, ``401``, ``403``, ``422`` or any ``5xx`` status code.
592592 MessageRejectedError
593593 Twitch rejected the message from various checks.
594+ TranslatorError
595+ An error occurred during translation.
594596 """
595597 translator : Translator | None = getattr (self .command , "translator" , None )
596598 new = (f"/me { content } " if me else content ).strip ()
@@ -599,14 +601,21 @@ async def send_translated(self, content: str, *, me: bool = False, langcode: str
599601 return await self .channel .send_message (sender = self .bot .bot_id , message = new )
600602
601603 invoked = self .invoked_with
602- code = langcode or translator .get_langcode (self , invoked .lower ()) if invoked else None
604+
605+ try :
606+ code = langcode or translator .get_langcode (self , invoked .lower ()) if invoked else None
607+ except Exception as e :
608+ raise TranslatorError (f"An exception occurred fetching a language code for '{ invoked } '." , original = e ) from e
603609
604610 if not code :
605611 return await self .channel .send_message (sender = self .bot .bot_id , message = new )
606612
607- translated = await translator .translate (self , content , code )
608- new_translated = (f"/me { translated } " if me else translated ).strip ()
613+ try :
614+ translated = await translator .translate (self , content , code )
615+ except Exception as e :
616+ raise TranslatorError (f"An exception occurred translating content for '{ invoked } '." , original = e ) from e
609617
618+ new_translated = (f"/me { translated } " if me else translated ).strip ()
610619 return await self .channel .send_message (sender = self .bot .bot_id , message = new_translated )
611620
612621 async def reply (self , content : str , * , me : bool = False ) -> SentMessage :
0 commit comments