3939
4040logger = getLogger (__name__ )
4141
42-
4342class Thread :
4443 """Represents a discord Modmail thread"""
4544
@@ -179,6 +178,15 @@ def cancelled(self, flag: bool):
179178 for i in self .wait_tasks :
180179 i .cancel ()
181180
181+ @property
182+ def log_url (self ) -> str :
183+ prefix = self .bot .config ["log_url_prefix" ].strip ("/" )
184+ if prefix == "NONE" :
185+ prefix = ""
186+ return (
187+ f"{ self .bot .config ['log_url' ].strip ('/' )} { '/' + prefix if prefix else '' } /{ self .log_key } "
188+ )
189+
182190 async def snooze (self , moderator : discord .User | discord .Member = None , command_used = None , snooze_for = None , ignored_message_ids : set [int ]= None ):
183191 """
184192 Save channel/category/position/messages to DB, mark as snoozed.
@@ -903,6 +911,7 @@ async def setup(self, *, creator=None, category=None, initial_message=None):
903911 self ._channel = channel
904912
905913 try :
914+ assert recipient is not None
906915 log_key , log_data = await asyncio .gather (
907916 self .bot .api .create_log_entry (recipient , channel , creator or recipient ),
908917 self .bot .api .get_user_logs (recipient .id ),
@@ -926,7 +935,7 @@ async def setup(self, *, creator=None, category=None, initial_message=None):
926935 mention = self .bot .config ["mention" ]
927936
928937 async def send_genesis_message ():
929- info_embed = self ._format_info_embed (recipient , log_url , log_count , self .bot .main_color )
938+ info_embed = self ._format_info_embed (recipient , self . log_url , log_count , self .bot .main_color )
930939 try :
931940 if mention_msg :
932941 msg = await channel .send ((mention + " " + mention_msg ), embed = info_embed )
@@ -1052,7 +1061,7 @@ async def activate_auto_triggers():
10521061 )
10531062 self .bot .dispatch ("thread_ready" , self , creator , category , initial_message )
10541063
1055- def _format_info_embed (self , user , log_url , log_count , color ):
1064+ def _format_info_embed (self , user , log_url : str , log_count , color ):
10561065 """Get information about a member of a server
10571066 supports users from the guild or not."""
10581067 member = self .bot .guild .get_member (user .id )
@@ -1215,12 +1224,7 @@ async def _close(
12151224 log_data = None
12161225
12171226 if isinstance (log_data , dict ):
1218- prefix = self .bot .config ["log_url_prefix" ].strip ("/" )
1219- if prefix == "NONE" :
1220- prefix = ""
1221- log_url = (
1222- f"{ self .bot .config ['log_url' ].strip ('/' )} { '/' + prefix if prefix else '' } /{ log_data ['_id' ]} "
1223- )
1227+ log_url = self .log_url
12241228
12251229 if log_data ["title" ]:
12261230 sneak_peak = log_data ["title" ]
0 commit comments