From 0e695e81dfc2c2c45657e9b0271122365a53b906 Mon Sep 17 00:00:00 2001 From: Leander Furumo Date: Sat, 24 Oct 2026 04:38:29 +0200 Subject: [PATCH] handle februrary 29 birthday cases --- src/cogs/birthday.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/cogs/birthday.py b/src/cogs/birthday.py index 8eebf78..30b8bdb 100644 --- a/src/cogs/birthday.py +++ b/src/cogs/birthday.py @@ -60,8 +60,15 @@ class Birthday(commands.Cog): self.cursor.execute(""" SELECT * FROM birthdays - WHERE EXTRACT(MONTH FROM birthday) = EXTRACT(MONTH FROM current_date) - AND EXTRACT(DAY FROM birthday) = EXTRACT(DAY FROM current_date); + WHERE ( + EXTRACT(MONTH FROM birthday) = EXTRACT(MONTH FROM current_date) + AND EXTRACT(DAY FROM birthday) = EXTRACT(DAY FROM current_date) + ) OR ( + -- Celebrate 29 February birthdays on 28 February in years that aren't leap years + to_char(birthday, 'MM-DD') = '02-29' + AND to_char(current_date, 'MM-DD') = '02-28' + AND to_char(current_date + 1, 'MM-DD') = '03-01' + ); """) birthdays = self.cursor.fetchall()