mirror of
				https://github.com/JonasunderscoreJones/ZtereoMUSIC.git
				synced 2025-10-26 12:59:19 +01:00 
			
		
		
		
	Clean up static abuse, use traditional OOP style
This commit is contained in:
		
							parent
							
								
									a7a0e0fae6
								
							
						
					
					
						commit
						0fa9ceef8e
					
				
					 4 changed files with 51 additions and 35 deletions
				
			
		|  | @ -10,7 +10,9 @@ import codes.ztereohype.ztereomusic.listeners.CommandListener; | |||
| import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; | ||||
| import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; | ||||
| import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers; | ||||
| import lombok.AccessLevel; | ||||
| import lombok.Getter; | ||||
| import lombok.Setter; | ||||
| import net.dv8tion.jda.api.JDA; | ||||
| import net.dv8tion.jda.api.JDABuilder; | ||||
| 
 | ||||
|  | @ -20,49 +22,63 @@ import java.util.Map; | |||
| import static net.dv8tion.jda.api.requests.GatewayIntent.GUILD_MESSAGES; | ||||
| import static net.dv8tion.jda.api.requests.GatewayIntent.GUILD_VOICE_STATES; | ||||
| 
 | ||||
| @Getter | ||||
| @Setter(AccessLevel.PRIVATE) | ||||
| public class Bot { | ||||
|     private static @Getter Config config; | ||||
|     private static @Getter JDA bot; | ||||
|     public static final Bot INSTANCE = new Bot(); | ||||
| 
 | ||||
|     private static @Getter final Map<String, Command> commandMap = new HashMap<>(); | ||||
|     private static @Getter final Map<String, String> commandAliases = new HashMap<>(); | ||||
|     private final Map<String, Command> commandMap = new HashMap<>(); | ||||
|     private final Map<String, String> commandAliases = new HashMap<>(); | ||||
| 
 | ||||
|     public static AudioPlayerManager playerManager; | ||||
|     public static Map<Long, GuildMusicPlayer> guildMusicPlayerMap = new HashMap<>(); | ||||
|     private Config config; | ||||
|     private JDA jda; | ||||
| 
 | ||||
|     public static void main(String[] args) throws Exception { | ||||
|         config = new Config("./config.json5"); | ||||
|         bot = JDABuilder.createDefault(config.getPropreties().get("token"), GUILD_MESSAGES, GUILD_VOICE_STATES).build().awaitReady(); | ||||
|     private AudioPlayerManager playerManager; | ||||
|     private Map<Long, GuildMusicPlayer> guildMusicPlayerMap = new HashMap<>(); | ||||
| 
 | ||||
|         setupAudio(); | ||||
|         setCommands(); | ||||
|         setListeners(); | ||||
|     private Bot() { | ||||
|     } | ||||
| 
 | ||||
|     public static void setCommands() { | ||||
|     public static Bot getInstance() { | ||||
|         return Bot.INSTANCE; | ||||
|     } | ||||
| 
 | ||||
|     public static void main(String[] args) throws Exception { | ||||
|         Bot bot = Bot.getInstance(); | ||||
| 
 | ||||
|         bot.setConfig(new Config("./config.json5")); | ||||
|         bot.setJda(JDABuilder.createDefault(bot.getConfig().getPropreties().get("token"), GUILD_MESSAGES, | ||||
|                                             GUILD_VOICE_STATES).build().awaitReady()); | ||||
| 
 | ||||
|         bot.setupAudio(); | ||||
|         bot.setCommands(); | ||||
|         bot.setListeners(); | ||||
|     } | ||||
| 
 | ||||
|     private void setCommands() { | ||||
|         Ping ping = new Ping(); | ||||
|         commandMap.put(ping.getMeta().getName(), ping); | ||||
|         this.getCommandMap().put(ping.getMeta().getName(), ping); | ||||
| 
 | ||||
|         Play play = new Play(); | ||||
|         commandMap.put(play.getMeta().getName(), play); | ||||
|         this.getCommandMap().put(play.getMeta().getName(), play); | ||||
| 
 | ||||
|         Skip skip = new Skip(); | ||||
|         commandMap.put(skip.getMeta().getName(), skip); | ||||
|         this.getCommandMap().put(skip.getMeta().getName(), skip); | ||||
| 
 | ||||
|         for (String commandName : commandMap.keySet()) { | ||||
|             for (String aliasName : commandMap.get(commandName).getMeta().getAliases()) { | ||||
|                 commandAliases.put(aliasName, commandName); | ||||
|         for (String commandName : this.getCommandAliases().keySet()) { | ||||
|             for (String aliasName : this.getCommandMap().get(commandName).getMeta().getAliases()) { | ||||
|                 this.getCommandAliases().put(aliasName, commandName); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public static void setupAudio() { | ||||
|         playerManager = new DefaultAudioPlayerManager(); | ||||
|         AudioSourceManagers.registerRemoteSources(playerManager); | ||||
|         AudioSourceManagers.registerLocalSource(playerManager); | ||||
|     private void setupAudio() { | ||||
|         this.setPlayerManager(new DefaultAudioPlayerManager()); | ||||
|         AudioSourceManagers.registerRemoteSources(this.getPlayerManager()); | ||||
|         AudioSourceManagers.registerLocalSource(this.getPlayerManager()); | ||||
|     } | ||||
| 
 | ||||
|     public static void setListeners() { | ||||
|         bot.addEventListener(new CommandListener()); | ||||
|     private void setListeners() { | ||||
|         this.getJda().addEventListener(new CommandListener()); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -14,14 +14,14 @@ public class GuildMusicPlayers { | |||
| 
 | ||||
|         // If I get called in a different vc I delete the old manager | ||||
|         if (!isInSameVC) { | ||||
|             Bot.guildMusicPlayerMap.remove(guildId); | ||||
|             Bot.getInstance().getGuildMusicPlayerMap().remove(guildId); | ||||
|         } | ||||
| 
 | ||||
|         GuildMusicPlayer musicPlayer = Bot.guildMusicPlayerMap.get(guildId); | ||||
|         GuildMusicPlayer musicPlayer = Bot.getInstance().getGuildMusicPlayerMap().get(guildId); | ||||
| 
 | ||||
|         if (musicPlayer == null) { | ||||
|             musicPlayer = new GuildMusicPlayer(Bot.playerManager, infoChannel); | ||||
|             Bot.guildMusicPlayerMap.put(guildId, musicPlayer); | ||||
|             musicPlayer = new GuildMusicPlayer(Bot.getInstance().getPlayerManager(), infoChannel); | ||||
|             Bot.getInstance().getGuildMusicPlayerMap().put(guildId, musicPlayer); | ||||
|             guild.getAudioManager().openAudioConnection(requestedChannel); | ||||
|         } | ||||
| 
 | ||||
|  | @ -33,7 +33,7 @@ public class GuildMusicPlayers { | |||
|     // stops player, disconnects from vc, and deletes the wrapper | ||||
|     public static void removeGuildAudioPlayer(Guild guild) { | ||||
|         long guildId = guild.getIdLong(); | ||||
|         GuildMusicPlayer musicPlayer = Bot.guildMusicPlayerMap.get(guildId); | ||||
|         GuildMusicPlayer musicPlayer = Bot.getInstance().getGuildMusicPlayerMap().get(guildId); | ||||
| 
 | ||||
|         if (musicPlayer == null) return; | ||||
| 
 | ||||
|  | @ -41,6 +41,6 @@ public class GuildMusicPlayers { | |||
|         guild.getAudioManager().closeAudioConnection(); | ||||
| 
 | ||||
|         //todo: remove this when will be part of disconnection listener | ||||
|         Bot.guildMusicPlayerMap.remove(guildId); | ||||
|         Bot.getInstance().getGuildMusicPlayerMap().remove(guildId); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -43,7 +43,7 @@ public class Play implements Command { | |||
|         VoiceChannel voiceChannel = author.getVoiceState().getChannel(); | ||||
|         MessageChannel messageChannel = messageEvent.getChannel(); | ||||
|         AudioManager manager = guild.getAudioManager(); | ||||
|         AudioPlayerManager playerManager = Bot.playerManager; | ||||
|         AudioPlayerManager playerManager = Bot.getInstance().getPlayerManager(); | ||||
| 
 | ||||
|         // check if args merged are/have url, if so try to feed it into lava, else try to youtube api the fuck out of it. | ||||
|         String mergedArgs = String.join(" ", args); | ||||
|  |  | |||
|  | @ -12,9 +12,9 @@ import java.util.Map; | |||
| 
 | ||||
| public class CommandListener extends ListenerAdapter { | ||||
|     // TODO: load prefix from a config | ||||
|     private static final String PREFIX = Bot.getConfig().getPropreties().get("prefix"); | ||||
|     private static final Map<String, Command> COMMAND_MAP = Bot.getCommandMap(); | ||||
|     private static final Map<String, String> COMMAND_ALIASES = Bot.getCommandAliases(); | ||||
|     private static final String PREFIX = Bot.getInstance().getConfig().getPropreties().get("prefix"); | ||||
|     private static final Map<String, Command> COMMAND_MAP = Bot.getInstance().getCommandMap(); | ||||
|     private static final Map<String, String> COMMAND_ALIASES = Bot.getInstance().getCommandAliases(); | ||||
| 
 | ||||
|     @Override | ||||
|     public void onMessageReceived(@Nonnull MessageReceivedEvent event) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue