Files
AllMusic/core/command/CommandVote.java
T

57 lines
2.9 KiB
Java
Raw Normal View History

2024-04-19 09:46:54 +08:00
package com.coloryr.allmusic.server.core.command;
2023-10-22 10:14:55 +08:00
2024-04-19 09:46:54 +08:00
import com.coloryr.allmusic.server.core.AllMusic;
import com.coloryr.allmusic.server.core.music.play.PlayMusic;
2024-06-21 11:06:14 +08:00
import com.coloryr.allmusic.server.core.objs.message.PAL;
2023-10-22 10:14:55 +08:00
2024-04-17 22:15:12 +08:00
public class CommandVote extends ACommand {
2023-10-22 10:14:55 +08:00
@Override
2025-01-19 22:51:01 +08:00
public void execute(Object sender, String name, String[] args) {
2024-04-17 22:15:12 +08:00
if (AllMusic.getConfig().needPermission &&
2024-05-17 09:04:46 +08:00
!AllMusic.side.checkPermission(name, "allmusic.vote")) {
2024-04-17 22:15:12 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.noPermission);
2023-10-22 10:14:55 +08:00
return;
2024-04-17 22:15:12 +08:00
} else if (PlayMusic.getListSize() == 0 && PlayMusic.getIdleListSize() == 0) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().musicPlay.emptyPlay);
2024-08-16 18:49:30 +08:00
} else if (PlayMusic.nowPlayMusic == null) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().musicPlay.emptyPlayingMusic);
2024-04-17 22:15:12 +08:00
} else if (args.length == 2) {
if (args[1].equalsIgnoreCase("cancel")) {
2024-08-16 18:49:30 +08:00
if (!name.equalsIgnoreCase(PlayMusic.getVoteSender())) {
2024-04-17 22:15:12 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.err1);
return;
2024-08-16 18:49:30 +08:00
} else if (PlayMusic.getVoteTime() <= 0) {
2024-04-17 22:15:12 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.err2);
return;
}
2025-01-19 22:51:01 +08:00
AllMusic.side.broadcast(AllMusic.getMessage().vote.cancel);
2024-08-16 18:49:30 +08:00
PlayMusic.clearVote();
2024-04-17 22:15:12 +08:00
} else {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().command.error);
}
return;
} else if (args.length > 2) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().command.error);
return;
2024-08-16 18:49:30 +08:00
} else if (PlayMusic.getVoteTime() <= 0) {
PlayMusic.startVote(name);
2024-04-17 22:15:12 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.doVote);
String data = AllMusic.getMessage().vote.bq;
2025-01-19 22:51:01 +08:00
AllMusic.side.broadcast(data.replace(PAL.player, name)
2024-06-21 11:06:14 +08:00
.replace(PAL.time, String.valueOf(AllMusic.getConfig().voteTime)));
2025-01-19 22:51:01 +08:00
AllMusic.side.broadcastWithRun(AllMusic.getMessage().vote.bq1, AllMusic.getMessage().vote.bq2, "/music vote");
2024-04-17 22:15:12 +08:00
} else {
2024-08-16 18:49:30 +08:00
if (!PlayMusic.containVote(name)) {
PlayMusic.addVote(name);
2024-04-17 22:15:12 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.agree);
String data = AllMusic.getMessage().vote.bqAgree;
2024-06-21 11:06:14 +08:00
data = data.replace(PAL.player, name)
2024-08-16 18:49:30 +08:00
.replace(PAL.count, String.valueOf(PlayMusic.getVoteCount()));
2025-01-19 22:51:01 +08:00
AllMusic.side.broadcast(data);
2023-10-22 10:14:55 +08:00
} else {
2024-04-17 22:15:12 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.arAgree);
2023-10-22 10:14:55 +08:00
}
}
2024-06-09 20:41:33 +08:00
AllMusic.getConfig().removeNoMusicPlayer(name);
2023-10-22 10:14:55 +08:00
}
}