sxcybot

OSRS oriented Discord Bot
git clone git://git.wimdupont.com/sxcybot.git
Log | Files | Refs | README | LICENSE

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 }