@@ -243,7 +243,14 @@ async def log_DM(self: Self, sent_from: str, source: str, content: str) -> None:
243243 f"{ source } recieved a PM" , f"PM from: { sent_from } \n { content } "
244244 )
245245 embed .timestamp = datetime .datetime .utcnow ()
246- await owner .send (embed = embed )
246+ try :
247+ await owner .send (embed = embed )
248+ except discord .Forbidden as exception :
249+ await self .logger .send_log (
250+ message = "Could not DM discord bot owner" ,
251+ level = LogLevel .ERROR ,
252+ exception = exception ,
253+ )
247254
248255 async def on_message (self : Self , message : discord .Message ) -> None :
249256 """Logs DMs and ensure that commands are processed
@@ -763,7 +770,6 @@ async def is_bot_admin(self: Self, member: discord.Member) -> bool:
763770 context = LogContext (guild = member .guild ),
764771 console_only = True ,
765772 )
766-
767773 owner = await self .get_owner ()
768774 if getattr (owner , "id" , None ) == member .id :
769775 return True
@@ -787,6 +793,12 @@ async def get_owner(self: Self) -> discord.User | None:
787793 Returns:
788794 discord.User | None: The User object of the owner of the application on discords side
789795 """
796+ if self .file_config .bot_config .override_owner :
797+ self .owner = await self .fetch_user (
798+ int (self .file_config .bot_config .override_owner )
799+ )
800+ return self .owner
801+
790802 if not self .owner :
791803 try :
792804 # If this isn't console only, it is a forever recursion
0 commit comments