@@ -123,27 +123,41 @@ async def setup(self, *, creator=None, category=None):
123123 channel .send (mention , embed = info_embed )
124124 )
125125
126+ self .bot .loop .create_task (msg .pin ()) # pin message
126127 self .ready = True
127128
128129 # Once thread is ready, tell the recipient.
129130 thread_creation_response = self .bot .config .get (
130131 'thread_creation_response' ,
131- 'The moderation team will get back to you as soon as possible! '
132+ 'The staff team will get back to you as soon as possible. '
132133 )
133134
134135 embed = discord .Embed (
135136 color = self .bot .mod_color ,
136137 description = thread_creation_response ,
137- timestamp = datetime . utcnow () ,
138+ timestamp = channel . created_at ,
138139 )
139- embed .set_footer (text = 'Your message has been sent' ,
140+
141+ footer = 'Your message has been sent'
142+ if not self .bot .config .get ('disable_recipient_thread_close' ):
143+ footer = 'Click the lock to close the thread'
144+
145+ footer = self .bot .config .get ('thread_creation_footer' , footer )
146+
147+
148+ embed .set_footer (text = footer ,
140149 icon_url = self .bot .guild .icon_url )
141- embed .set_author (name = 'Thread Created' )
142150
143- if creator is None :
144- self .bot .loop .create_task (recipient .send (embed = embed ))
151+ embed .title = self .bot .config .get ('thread_creation_title' , 'Thread Created' )
145152
146- await msg .pin ()
153+
154+ if creator is None :
155+ msg = await recipient .send (embed = embed )
156+ if not self .bot .config .get ('disable_recipient_thread_close' ):
157+ close_emoji = self .bot .config .get ('close_emoji' , '🔒' )
158+ close_emoji = await self .bot .convert_emoji (close_emoji )
159+ await msg .add_reaction (close_emoji )
160+
147161
148162 def _close_after (self , closer , silent , delete_channel , message ):
149163 return self .bot .loop .create_task (
@@ -227,12 +241,17 @@ async def _close(self, closer, silent=False, delete_channel=True,
227241 user = f"{ self .recipient } (`{ self .id } `)"
228242 else :
229243 user = f'`{ self .id } `'
244+
245+ if self .id == closer .id :
246+ _closer = 'the Recipient'
247+ else :
248+ _closer = f'{ closer } ({ closer .id } )'
230249
231250 embed .title = user
232251
233252 event = 'Thread Closed as Scheduled' if scheduled else 'Thread Closed'
234253 # embed.set_author(name=f'Event: {event}', url=log_url)
235- embed .set_footer (text = f'{ event } by { closer } ( { closer . id } ) ' )
254+ embed .set_footer (text = f'{ event } by { _closer } ' )
236255 embed .timestamp = datetime .utcnow ()
237256
238257 tasks = [
@@ -244,14 +263,18 @@ async def _close(self, closer, silent=False, delete_channel=True,
244263
245264 # Thread closed message
246265
247- embed = discord .Embed (title = ' Thread Closed' ,
266+ embed = discord .Embed (title = self . bot . config . get ( 'thread_close_title' , ' Thread Closed') ,
248267 color = discord .Color .red (),
249268 timestamp = datetime .utcnow ())
250269
251270 if not message :
252- message = f'{ closer .mention } has closed this Modmail thread.'
271+ if self .id == closer .id :
272+ message = 'You have closed this modmail thread.'
273+ else :
274+ message = f'{ closer .mention } has closed this Modmail thread.'
253275 embed .description = message
254- embed .set_footer (text = 'Replying will create a new thread' ,
276+ footer = self .bot .config .get ('thread_close_footer' , 'Replying will create a new thread' )
277+ embed .set_footer (text = footer ,
255278 icon_url = self .bot .guild .icon_url )
256279
257280 if not silent and self .recipient is not None :
0 commit comments