@@ -203,27 +203,9 @@ export class HelpChanModule extends Module {
203
203
204
204
this . busyChannels . add ( msg . channel . id ) ;
205
205
206
- let lastMessage = msg . channel . messages . cache
207
- . array ( )
208
- . reverse ( )
209
- . find ( m => m . author . id === this . client . user ?. id ) ;
210
-
211
- if ( ! lastMessage )
212
- lastMessage = ( await msg . channel . messages . fetch ( { limit : 5 } ) )
213
- . array ( )
214
- . reverse ( )
215
- . find ( m => m . author . id === this . client . user ?. id ) ;
216
-
217
206
let embed = this . occupiedEmbed ( msg . author ) ;
218
207
219
- if ( lastMessage ) {
220
- // If there is a last message (the available message) by the bot, edit it
221
- await lastMessage . edit ( embed ) ;
222
- } else {
223
- // Otherwise, just send a new message
224
- await msg . channel . send ( embed ) ;
225
- }
226
-
208
+ await this . updateStatusEmbed ( msg . channel , embed ) ;
227
209
await msg . pin ( ) ;
228
210
await this . addCooldown ( msg . member , msg . channel ) ;
229
211
await this . moveChannel ( msg . channel , categories . ongoing ) ;
@@ -292,24 +274,7 @@ export class HelpChanModule extends Module {
292
274
) ;
293
275
if ( dormant && dormant instanceof TextChannel ) {
294
276
await this . moveChannel ( dormant , categories . ask ) ;
295
-
296
- let lastMessage = dormant . messages . cache
297
- . array ( )
298
- . reverse ( )
299
- . find ( m => m . author . id === this . client . user ?. id ) ;
300
-
301
- if ( ! lastMessage )
302
- lastMessage = ( await dormant . messages . fetch ( { limit : 5 } ) )
303
- . array ( )
304
- . find ( m => m . author . id === this . client . user ?. id ) ;
305
-
306
- if ( lastMessage ) {
307
- // If there is a last message (the dormant message) by the bot, just edit it
308
- await lastMessage . edit ( this . AVAILABLE_EMBED ) ;
309
- } else {
310
- // Otherwise, just send a new message
311
- await dormant . send ( this . AVAILABLE_EMBED ) ;
312
- }
277
+ await this . updateStatusEmbed ( dormant , this . AVAILABLE_EMBED ) ;
313
278
} else {
314
279
const chan = await guild . channels . create (
315
280
this . getChannelName ( guild ) ,
@@ -369,6 +334,27 @@ export class HelpChanModule extends Module {
369
334
}
370
335
}
371
336
337
+ private async updateStatusEmbed ( channel : TextChannel , embed : MessageEmbed ) {
338
+ let lastMessage = channel . messages . cache
339
+ . array ( )
340
+ . reverse ( )
341
+ . find ( m => m . author . id === this . client . user ?. id ) ;
342
+
343
+ if ( ! lastMessage )
344
+ lastMessage = ( await channel . messages . fetch ( { limit : 5 } ) )
345
+ . array ( )
346
+ . reverse ( )
347
+ . find ( m => m . author . id === this . client . user ?. id ) ;
348
+
349
+ if ( lastMessage ) {
350
+ // If there is a last message (the status message) by the bot, edit it
351
+ await lastMessage . edit ( embed ) ;
352
+ } else {
353
+ // Otherwise, just send a new message
354
+ await channel . send ( embed ) ;
355
+ }
356
+ }
357
+
372
358
private async addCooldown ( member : GuildMember , channel : TextChannel ) {
373
359
await member . roles . add ( askCooldownRoleId ) ;
374
360
const helpUser = new HelpUser ( ) ;
@@ -463,7 +449,10 @@ export class HelpChanModule extends Module {
463
449
. setAuthor ( member . displayName , member . user . displayAvatarURL ( ) )
464
450
. setDescription ( msgContent ) ,
465
451
) ;
452
+
466
453
await toPin . pin ( ) ;
454
+ const occupied = this . updateOccupiedEmbed ( msg . author ) ;
455
+ await this . updateStatusEmbed ( claimedChannel , occupied ) ;
467
456
await this . addCooldown ( member , claimedChannel ) ;
468
457
await this . moveChannel ( claimedChannel , categories . ongoing ) ;
469
458
await claimedChannel . send (
0 commit comments