@@ -8,28 +8,34 @@ withContext(on, 'messageCreate', async ({ discord, logger }, msg) => {
8
8
if ( ! store ) return
9
9
10
10
if ( store . timerActive ) {
11
- if ( ! store . forceTimerActive && store . forceTimerMs ) {
12
- logger . debug (
13
- `Channel ${ msg . channelId } in guild ${ msg . guildId } is active, starting force send timer and clearing existing timer` ,
14
- )
11
+ // Timer is already active, so we try to start the force timer
12
+ if ( store . forceTimerMs ) {
13
+ // Force timer isn't active, so we start it
14
+ if ( ! store . forceTimerActive ) {
15
+ logger . debug (
16
+ `Channel ${ msg . channelId } in guild ${ msg . guildId } is active, starting force send timer and clearing existing timer` ,
17
+ )
15
18
16
- // Clear the timer
17
- clearTimeout ( store . timer )
18
- store . timerActive = false
19
+ // Clear the timer
20
+ clearTimeout ( store . timer )
21
+ store . timerActive = false
19
22
20
- // (Re)start the force timer
21
- store . forceTimerActive = true
22
- if ( ! store . forceTimer )
23
- store . forceTimer = setTimeout (
24
- ( ) =>
25
- store . send ( true ) . then ( ( ) => {
26
- store . forceTimerActive = false
27
- } ) ,
28
- store . forceTimerMs ,
29
- ) as NodeJS . Timeout
30
- else store . forceTimer . refresh ( )
23
+ // (Re)start the force timer
24
+ store . forceTimerActive = true
25
+ if ( ! store . forceTimer )
26
+ store . forceTimer = setTimeout (
27
+ ( ) =>
28
+ store . send ( true ) . then ( ( ) => {
29
+ store . forceTimerActive = false
30
+ } ) ,
31
+ store . forceTimerMs ,
32
+ ) as NodeJS . Timeout
33
+ else store . forceTimer . refresh ( )
34
+ // Force timer is already active, so we force send
35
+ } else store . send ( )
31
36
}
32
37
} else if ( ! store . forceTimerActive ) {
38
+ // Both timers aren't active, so we start the timer
33
39
store . timerActive = true
34
40
if ( ! store . timer ) store . timer = setTimeout ( store . send , store . timerMs ) as NodeJS . Timeout
35
41
}
0 commit comments