From 66ae408a431a7e387f72fca038427d9a92da5250 Mon Sep 17 00:00:00 2001 From: MineKing Date: Fri, 27 Dec 2024 20:37:53 +0100 Subject: [PATCH] Try to fix birthday alert --- .../slimeball/features/birthday/BirthdayAlert.java | 9 ++++++--- .../slimeball/features/birthday/BirthdayTable.java | 12 ------------ 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayAlert.java b/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayAlert.java index c62c9b0d..7bdf4403 100644 --- a/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayAlert.java +++ b/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayAlert.java @@ -14,18 +14,21 @@ public class BirthdayAlert { public BirthdayAlert(@NotNull SlimeBot bot) { this.bot = bot; - bot.getScheduler().scheduleDaily(0, true, this::check); + bot.getScheduler().scheduleDaily(1, true, this::check); } private void check() { bot.getJda().getGuilds().forEach(guild -> bot.loadGuild(guild).getBirthday().ifPresent(config -> { List members = config.getBirthdayRole().map(guild::getMembersWithRoles).map(m -> m.stream().map(Member::getIdLong).toList()).orElse(Collections.emptyList()); - bot.getBirthdays().getAll(guild, members).stream() + List birthdays = bot.getBirthdays().getAll(guild, members); + + birthdays.stream() .filter(b -> !b.isBirthday()) .forEach(b -> new BirthdayEndEvent(b).callEvent()); - bot.getBirthdays().getToday(guild).stream() + birthdays.stream() + .filter(Birthday::isBirthday) .filter(b -> !members.contains(b.getUser().getIdLong())) .forEach(b -> new BirthdayStartEvent(b).callEvent()); })); diff --git a/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayTable.java b/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayTable.java index 1eeca66d..e44be952 100644 --- a/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayTable.java +++ b/src/main/java/de/slimecloud/slimeball/features/birthday/BirthdayTable.java @@ -55,18 +55,6 @@ default List getAll(@NotNull Guild guild, @NotNull List members) )); } - @NotNull - @SuppressWarnings("deprecation") - default List getToday(@NotNull Guild guild) { - ZonedDateTime now = ZonedDateTime.now(Main.timezone); - Date today = new Date((now.toEpochSecond() + now.getOffset().getTotalSeconds()) * 1000); - - return selectMany(Where.allOf( - Where.equals("guild", guild), - Where.equals("date", new Date(2000 - 1900, today.getMonth(), today.getDate())) - )); - } - /* Listable implementation */