PvmRoleCheckListener.java (1358B)
1 package com.wimdupont.sxcybot.listeners.member; 2 3 import com.wimdupont.sxcybot.listeners.Listener; 4 import com.wimdupont.sxcybot.services.OsrsMonitoringService; 5 import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel; 6 import net.dv8tion.jda.api.events.message.MessageReceivedEvent; 7 import net.dv8tion.jda.api.exceptions.RateLimitedException; 8 import org.slf4j.Logger; 9 import org.slf4j.LoggerFactory; 10 import org.springframework.stereotype.Component; 11 12 @Component 13 public class PvmRoleCheckListener implements Listener { 14 15 private static final Logger LOGGER = LoggerFactory.getLogger(PvmRoleCheckListener.class); 16 private final OsrsMonitoringService osrsMonitoringService; 17 18 public PvmRoleCheckListener(OsrsMonitoringService osrsMonitoringService) { 19 this.osrsMonitoringService = osrsMonitoringService; 20 } 21 22 @Override 23 public void process(MessageReceivedEvent event) { 24 if (event.getMember() != null) { 25 try { 26 PrivateChannel privateChannel = event.getMember().getUser().openPrivateChannel().complete(true); 27 osrsMonitoringService.monitorPvmRoleUserHiscores(privateChannel); 28 osrsMonitoringService.monitorDiscordMembers(privateChannel); 29 } catch (RateLimitedException e) { 30 LOGGER.error(e.getMessage(), e); 31 } 32 } 33 } 34 }