Skip to content

Commit 26680a9

Browse files
committed
fix(bots/discord): off-by-one reminders query + log if query fails
1 parent 99c7422 commit 26680a9

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

bots/discord/src/events/discord/ready/checkReminders.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { type Client, EmbedBuilder } from 'discord.js'
2-
import { eq, lt } from 'drizzle-orm'
2+
import { eq, lte } from 'drizzle-orm'
33
import { database, logger } from '$/context'
44
import { reminders } from '$/database/schemas'
55
import { applyCommonEmbedStyles } from '$/utils/discord/embeds'
@@ -8,16 +8,19 @@ import { on, withContext } from '$/utils/discord/events'
88
const REMINDER_CHECK_INTERVAL = 30_000 // Check every 30 seconds
99

1010
export 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

1518
async 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

Comments
 (0)