@@ -19,6 +19,8 @@ public class DiscordBotAPI extends Plugin {
1919
2020 public static DiscordBotAPI plugin ;
2121
22+ public DiscordMessageReceived discordMessageReceived = new DiscordMessageReceived ();
23+
2224 public void onEnable (){
2325 plugin = this ;
2426
@@ -35,7 +37,7 @@ public void onEnable(){
3537 cm .initializeSubCommands ();
3638 ProxyServer .getInstance ().getPluginManager ().registerCommand (this , cm );
3739
38- JDABuilder builder = JDABuilder .create (me . joshb . discordbotapi . server . config . Config .getInstance ().getConfig ().getString ("Bot.Token" ),
40+ JDABuilder builder = JDABuilder .create (Config .getInstance ().getConfig ().getString ("Bot.Token" ),
3941 GatewayIntent .GUILD_MEMBERS ,
4042 GatewayIntent .GUILD_MESSAGE_REACTIONS ,
4143 GatewayIntent .DIRECT_MESSAGES ,
@@ -46,15 +48,39 @@ public void onEnable(){
4648 } catch (LoginException e ) {
4749 getLogger ().severe ("Plugin Disabled. The bot token is invalid. Reason: " + e .getMessage ());
4850 }
49- jda . addEventListener ( new DiscordMessageReceived () );
51+ registerEvent ( this , discordMessageReceived );
5052 }
5153
5254 public void onDisable (){
5355 if (jda != null ){
56+ unRegisterEvent (this , discordMessageReceived );
5457 jda .shutdown ();
5558 }
5659 }
5760
61+ public void registerEvent (Plugin p , Object listenerClass ) {
62+ if (p != this ){
63+ getLogger ().info ("Registering Listener from " + p .getDescription ().getName () + " - " + listenerClass .getClass ().getName ());
64+ }
65+ try {
66+ jda .addEventListener (listenerClass );
67+ } catch (Exception e ) {
68+ getLogger ().severe ("Could not register listener from " + p .getDescription ().getName () + " - " + e .getMessage ());
69+ }
70+ }
71+
72+ public void unRegisterEvent (Plugin p , Object listenerClass ) {
73+ if (p != this ){
74+ getLogger ().info ("Unregistering Listener from " + p .getDescription ().getName () + " - " + listenerClass .getClass ().getName ());
75+ }
76+ try {
77+ jda .removeEventListener (listenerClass );
78+ } catch (Exception e ) {
79+ getLogger ().severe ("Could not unregister listener from " + p .getDescription ().getName () + " - " + e .getMessage ());
80+ }
81+ }
82+
83+
5884 public static JDA getJDA (){
5985 return jda ;
6086 }
0 commit comments