File tree Expand file tree Collapse file tree 3 files changed +25
-12
lines changed Expand file tree Collapse file tree 3 files changed +25
-12
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
55and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
66
7+ #v2.0.4
8+ 
9+ ### Fixed  
10+ -  Fixed a one off bug where the channel topic dissapears, but modmail operations should still continue
11+ -  Fixed linked_message_id issues.
12+ 
713# v2.0.3  
814
915Fixed some issues with how data is displayed in the info embed.
Original file line number Diff line number Diff line change 2222SOFTWARE. 
2323""" 
2424
25- __version__  =  '2.0.3 ' 
25+ __version__  =  '2.0.4 ' 
2626
2727import  asyncio 
2828import  textwrap 
@@ -120,10 +120,14 @@ def modmail_guild(self):
120120            return  self .guild 
121121        else :
122122            return  discord .utils .get (self .guilds , id = int (modmail_guild_id ))
123+     
124+     @property  
125+     def  using_multiple_server_setup (self ):
126+         return  self .modmail_guild  !=  self .guild 
123127
124128    @property  
125129    def  main_category (self ):
126-         if  self .guild :
130+         if  self .modmail_guild :
127131            return  discord .utils .get (self .modmail_guild .categories , name = 'Mod Mail' )
128132
129133    @property  
@@ -245,7 +249,7 @@ async def on_message_delete(self, message):
245249        """Support for deleting linked messages""" 
246250        if  message .embeds  and  not  isinstance (message .channel , discord .DMChannel ):
247251            message_id  =  str (message .embeds [0 ].author .url ).split ('/' )[- 1 ]
248-             if  matches :
252+             if  message_id . isdigit () :
249253                thread  =  await  self .threads .find (channel = message .channel )
250254
251255                channel  =  thread .recipient .dm_channel 
Original file line number Diff line number Diff line change @@ -135,8 +135,11 @@ def __init__(self, bot):
135135
136136    async  def  populate_cache (self ):
137137        for  channel  in  self .bot .modmail_guild .text_channels :
138+             if  not  self .bot .using_multiple_server_setup  and  channel .category  !=  self .main_category :
139+                 continue 
138140            await  self .find (channel = channel )
139141
142+ 
140143    def  __len__ (self ):
141144        return  len (self .cache )
142145
@@ -177,15 +180,15 @@ async def _find_from_channel(self, channel):
177180        if  channel .topic  and  'User ID: '  in  channel .topic :
178181            user_id  =  int (re .findall (r'\d+' , channel .topic )[0 ])
179182
180-         # BUG: This wont work with multiple categories.  
181-         #  elif channel.topic is None:
182-         #      async for message in channel.history(limit=50):
183-         #          if message.embeds:
184-         #              em = message.embeds[0]
185-         #               matches = re.findall(r'<@ (\d+)> ', str(em.description ))
186-         #              if matches:
187-         #                   user_id = int(matches[-1 ])
188-         #                  break
183+         # BUG: When discord fails to create channel topic. search through message history  
184+         elif  channel .topic  is  None :
185+             async  for  message  in  channel .history (limit = 50 ):
186+                 if  message .embeds :
187+                     em  =  message .embeds [0 ]
188+                     matches  =  re .findall (r'User ID:  (\d+)' , str (em .footer . text ))
189+                     if  matches :
190+                         user_id  =  int (matches [0 ])
191+                         break 
189192
190193        if  user_id  is  not None :
191194            if  user_id  in  self .cache :
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments