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;
|
2025-03-24 18:20:45 +08:00
|
|
|
import com.coloryr.allmusic.server.core.sql.DataSql;
|
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
|
|
|
}
|
|
|
|
|
}
|
2025-03-24 18:20:45 +08:00
|
|
|
DataSql.removeMutePlayer(name);
|
2023-10-22 10:14:55 +08:00
|
|
|
}
|
|
|
|
|
}
|