11import { type Client , EmbedBuilder } from 'discord.js'
2- import { eq , lt } from 'drizzle-orm'
2+ import { eq , lte } from 'drizzle-orm'
33import { database , logger } from '$/context'
44import { reminders } from '$/database/schemas'
55import { applyCommonEmbedStyles } from '$/utils/discord/embeds'
@@ -8,16 +8,19 @@ import { on, withContext } from '$/utils/discord/events'
88const REMINDER_CHECK_INTERVAL = 30_000 // Check every 30 seconds
99
1010export default withContext ( on , 'ready' , async ( _ , client ) => {
11- checkReminders ( client )
12- setInterval ( ( ) => checkReminders ( client ) , REMINDER_CHECK_INTERVAL )
11+ checkReminders ( client ) . catch ( e => logger . error ( 'Error during initial reminder check:' , e ) )
12+ setInterval (
13+ ( ) => checkReminders ( client ) . catch ( e => logger . error ( 'Error in reminder check interval:' , e ) ) ,
14+ REMINDER_CHECK_INTERVAL ,
15+ )
1316} )
1417
1518async function checkReminders ( client : Client ) {
1619 logger . debug ( 'Checking for due reminders...' )
1720
1821 const now = Math . floor ( Date . now ( ) / 1000 )
1922 const dueReminders = await database . query . reminders . findMany ( {
20- where : lt ( reminders . remindAt , now ) ,
23+ where : lte ( reminders . remindAt , now ) ,
2124 } )
2225
2326 for ( const reminder of dueReminders ) {
0 commit comments