diff --git a/application/config.json.template b/application/config.json.template index 85cb64d575..f48b01fdc5 100644 --- a/application/config.json.template +++ b/application/config.json.template @@ -199,7 +199,7 @@ "rolePattern": "Top Helper.*", "assignmentChannelPattern": "community-commands", "announcementChannelPattern": "hall-of-fame" - } + }, "cakeDayConfig": { "rolePattern": "Cake Day" } diff --git a/application/src/main/java/org/togetherjava/tjbot/features/cakeday/CakeDayListener.java b/application/src/main/java/org/togetherjava/tjbot/features/cakeday/CakeDayListener.java index b3368aafd1..ccc85e481d 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/cakeday/CakeDayListener.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/cakeday/CakeDayListener.java @@ -3,15 +3,12 @@ import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent; import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent; -import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; -import org.jetbrains.annotations.NotNull; -import org.togetherjava.tjbot.db.generated.tables.records.CakeDaysRecord; import org.togetherjava.tjbot.features.EventReceiver; -import java.util.Optional; /** * A listener class responsible for handling cake day related events. @@ -24,43 +21,12 @@ public CakeDayListener(CakeDayService cakeDayService) { this.cakeDayService = cakeDayService; } - /** - * Handles the event of a message being received in a guild. - *
- * It caches the user's cake day and inserts the member's cake day into the database if not
- * already present.
- *
- * @param event the {@link MessageReceivedEvent} representing the message received
- */
@Override
- public void onMessageReceived(@NotNull MessageReceivedEvent event) {
- User author = event.getAuthor();
+ public void onGuildMemberJoin(GuildMemberJoinEvent event) {
+ Guild guild = event.getGuild();
Member member = event.getMember();
- long authorId = author.getIdLong();
- long guildId = event.getGuild().getIdLong();
-
- if (member == null || author.isBot() || author.isSystem()) {
- return;
- }
-
-
- if (cakeDayService.hasMemberCakeDayToday(member)) {
- cakeDayService.addCakeDayRole(member);
- return;
- }
-
- if (cakeDayService.isUserCached(author)) {
- return;
- }
-
- cakeDayService.addToCache(author);
- Optional