PvmRolePollListener.java (1226B)
1 package com.wimdupont.sxcybot.listeners.member; 2 3 import com.wimdupont.sxcybot.listeners.Listener; 4 import com.wimdupont.sxcybot.services.PvMRoleResolver; 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 PvmRolePollListener implements Listener { 14 15 private static final Logger LOGGER = LoggerFactory.getLogger(PvmRolePollListener.class); 16 private final PvMRoleResolver pvMRoleResolver; 17 18 public PvmRolePollListener(PvMRoleResolver pvMRoleResolver) { 19 this.pvMRoleResolver = pvMRoleResolver; 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 pvMRoleResolver.resolvePvMRoles(false, privateChannel); 28 } catch (RateLimitedException e) { 29 LOGGER.error(e.getMessage(), e); 30 } 31 } 32 } 33 }