0

The "onGuildMemberRoleAdd" listener just doesn't work ... As if the listener was ignored... And I don't know why :( can someone help me pls!

I also implemented the listener in the main class.

Listener:

package listener.rollen;

import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleAddEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;

public class RollenAdd extends ListenerAdapter {

    @Override
    public void onGuildMemberRoleAdd(GuildMemberRoleAddEvent event) {
        System.out.println("test");
    }

}

Main

package main;

import listener.*;
import listener.punktesystem.SprachchatConnect;
import listener.punktesystem.SprachchatDisconnect;
import listener.rollen.*;
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
import net.dv8tion.jda.api.sharding.ShardManager;

import javax.security.auth.login.LoginException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Start {

    public static Start INSTANCE;

    public ShardManager shardMan;

    public static void main(String[] args) {
        try {
            new Start();
        } catch (LoginException e) {
            e.printStackTrace();
        }
    }

    public Start() throws LoginException, IllegalArgumentException {

        INSTANCE = this;

        DefaultShardManagerBuilder builder = DefaultShardManagerBuilder.createDefault("Token");

        builder.setActivity(Activity.watching("ZZZZs Zaubertrick"));
        builder.setStatus(OnlineStatus.ONLINE);

        listeners(builder);

        shardMan = builder.build();
        shutdown();
    }

    public void shutdown(){
        new Thread(() -> {

            String line = "";
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            try{
                while ((line = reader.readLine()) != null){

                    if(line.equalsIgnoreCase("exit")){
                        if(shardMan != null){
                            shardMan.setStatus(OnlineStatus.OFFLINE);
                            shardMan.shutdown();
                            System.out.println("Bot ist offline!");

                        }
                    }
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }).start();
    }

    public void listeners(DefaultShardManagerBuilder builder){
        builder.addEventListeners(new RollenAdd());
    }
}

I think that's all that has to do with it...

At first I thought it was because the Privileged Gateway Intents were not activated in the DiscordDeveloperPortal, but after that it still didn't work

michel929
  • 71
  • 9

0 Answers0