@@ -123,27 +123,41 @@ async def setup(self, *, creator=None, category=None):
123
123
channel .send (mention , embed = info_embed )
124
124
)
125
125
126
+ self .bot .loop .create_task (msg .pin ()) # pin message
126
127
self .ready = True
127
128
128
129
# Once thread is ready, tell the recipient.
129
130
thread_creation_response = self .bot .config .get (
130
131
'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. '
132
133
)
133
134
134
135
embed = discord .Embed (
135
136
color = self .bot .mod_color ,
136
137
description = thread_creation_response ,
137
- timestamp = datetime . utcnow () ,
138
+ timestamp = channel . created_at ,
138
139
)
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 ,
140
149
icon_url = self .bot .guild .icon_url )
141
- embed .set_author (name = 'Thread Created' )
142
150
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' )
145
152
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
+
147
161
148
162
def _close_after (self , closer , silent , delete_channel , message ):
149
163
return self .bot .loop .create_task (
@@ -227,12 +241,17 @@ async def _close(self, closer, silent=False, delete_channel=True,
227
241
user = f"{ self .recipient } (`{ self .id } `)"
228
242
else :
229
243
user = f'`{ self .id } `'
244
+
245
+ if self .id == closer .id :
246
+ _closer = 'the Recipient'
247
+ else :
248
+ _closer = f'{ closer } ({ closer .id } )'
230
249
231
250
embed .title = user
232
251
233
252
event = 'Thread Closed as Scheduled' if scheduled else 'Thread Closed'
234
253
# 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 } ' )
236
255
embed .timestamp = datetime .utcnow ()
237
256
238
257
tasks = [
@@ -244,14 +263,18 @@ async def _close(self, closer, silent=False, delete_channel=True,
244
263
245
264
# Thread closed message
246
265
247
- embed = discord .Embed (title = ' Thread Closed' ,
266
+ embed = discord .Embed (title = self . bot . config . get ( 'thread_close_title' , ' Thread Closed') ,
248
267
color = discord .Color .red (),
249
268
timestamp = datetime .utcnow ())
250
269
251
270
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.'
253
275
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 ,
255
278
icon_url = self .bot .guild .icon_url )
256
279
257
280
if not silent and self .recipient is not None :
0 commit comments