mirror of
https://github.com/Coloryr/AllMusic.git
synced 2026-11-08 18:54:44 +00:00
bug
This commit is contained in:
1 parent
4c83a39bff
commit
d51408ed48
6 files changed
+26
-16
No files matched your search
@@ -31,12 +31,14 @@ public class CommandAgree extends ACommand {
|
||||
}
|
||||
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.agree);
|
||||
|
||||
// 先把自己算进去再广播,否则第一票永远显示"共有0名玩家同意"
|
||||
PlayMusic.addVote(name);
|
||||
|
||||
String data = AllMusic.getMessage().vote.bqAgree;
|
||||
data = data.replace(ARG.player, name)
|
||||
.replace(ARG.count, String.valueOf(vote.votePlayer.size()))
|
||||
.replace(ARG.countAll, String.valueOf(PlayRuntime.getMiniVote()));
|
||||
AllMusic.side.broadcast(data);
|
||||
|
||||
PlayMusic.addVote(name);
|
||||
}
|
||||
}
|
||||
+3
-1
@@ -41,6 +41,7 @@ public class CommandCancel implements ICommand {
|
||||
return;
|
||||
}
|
||||
|
||||
PlayMusic.remove(id);
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.done);
|
||||
} catch (Exception e) {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err4);
|
||||
@@ -59,7 +60,8 @@ public class CommandCancel implements ICommand {
|
||||
for (int a = 1; a < list1.size(); a++) {
|
||||
SongInfoObj item = list1.get(a);
|
||||
if (item.getCall().equalsIgnoreCase(name)) {
|
||||
list.add(String.valueOf(a));
|
||||
// 用户序号是 1 起(list[a] 对应序号 a+1)
|
||||
list.add(String.valueOf(a + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,8 +24,6 @@ public class CommandHelp extends ACommand {
|
||||
.append(AllMusic.side.clickSuggest(AllMusic.getMessage().click.clickRun, "/music push ")));
|
||||
AllMusic.side.sendMessage(sender, AllMusic.side.miniMessage(AllMusic.getMessage().help.normal.push1)
|
||||
.append(AllMusic.side.clickRun(AllMusic.getMessage().click.clickRun, "/music push cancel")));
|
||||
AllMusic.side.sendMessage(sender, AllMusic.side.miniMessage(AllMusic.getMessage().help.normal.vote)
|
||||
.append(AllMusic.side.clickRun(AllMusic.getMessage().click.clickRun, "/music vote")));
|
||||
AllMusic.side.sendMessage(sender, AllMusic.side.miniMessage(AllMusic.getMessage().help.normal.mute)
|
||||
.append(AllMusic.side.clickRun(AllMusic.getMessage().click.clickRun, "/music mute")));
|
||||
AllMusic.side.sendMessage(sender, AllMusic.side.miniMessage(AllMusic.getMessage().help.normal.mutelist)
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.coloryr.allmusic.server.core.saves.BanSave;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class CommandPush extends ACommand {
|
||||
@Override
|
||||
@@ -35,20 +36,21 @@ public class CommandPush extends ACommand {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.noId);
|
||||
return;
|
||||
}
|
||||
SongInfoObj id1 = PlayMusic.findMusicIndex(1);
|
||||
if (id1 != null && id1.getId().equalsIgnoreCase(music.getId())) {
|
||||
SongInfoObj next = PlayMusic.getNextMusic();
|
||||
if (next != null && next.getId().equalsIgnoreCase(music.getId())
|
||||
&& next.getApi().equalsIgnoreCase(music.getApi())) {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.pushErr);
|
||||
return;
|
||||
}
|
||||
|
||||
VoteItem item = new VoteItem(music.getApi(), music.getId(), name, VoteItem.VoteType.PUSH);
|
||||
// 发起人自己也算一票,和 /music vote 保持一致
|
||||
item.votePlayer.add(name.toLowerCase(Locale.ROOT));
|
||||
if (PlayMusic.startVote(item)) {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.doVote);
|
||||
} else {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.err5);
|
||||
}
|
||||
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.doVote);
|
||||
} else if (args.length == 2) {
|
||||
if (args[1].equalsIgnoreCase("cancel")) {
|
||||
if (!PlayMusic.haveVote(name, VoteItem.VoteType.PUSH)) {
|
||||
@@ -56,7 +58,7 @@ public class CommandPush extends ACommand {
|
||||
return;
|
||||
}
|
||||
PlayMusic.removeVote(name, VoteItem.VoteType.PUSH);
|
||||
AllMusic.side.sendMessage(name, AllMusic.getMessage().push.cancel1);
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.cancel1);
|
||||
return;
|
||||
} else {
|
||||
try {
|
||||
@@ -72,13 +74,13 @@ public class CommandPush extends ACommand {
|
||||
}
|
||||
|
||||
VoteItem item = new VoteItem(music.getApi(), music.getId(), name, VoteItem.VoteType.PUSH);
|
||||
// 发起人自己也算一票,和 /music vote 保持一致
|
||||
item.votePlayer.add(name.toLowerCase(Locale.ROOT));
|
||||
if (PlayMusic.startVote(item)) {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.doVote);
|
||||
} else {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.err5);
|
||||
}
|
||||
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().push.doVote);
|
||||
}
|
||||
} else if (args.length > 2) {
|
||||
AllMusic.side.sendMessage(sender, AllMusic.getMessage().command.error);
|
||||
@@ -95,7 +97,8 @@ public class CommandPush extends ACommand {
|
||||
for (int a = 1; a < list1.size(); a++) {
|
||||
SongInfoObj item = list1.get(a);
|
||||
if (item.getCall().equalsIgnoreCase(name)) {
|
||||
list.add(String.valueOf(a));
|
||||
// 用户序号是 1 起(list[a] 对应序号 a+1)
|
||||
list.add(String.valueOf(a + 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,11 @@ public class PlayMusic {
|
||||
|
||||
public static boolean haveVote(String name, VoteItem.VoteType voteType) {
|
||||
name = name.toLowerCase(Locale.ROOT);
|
||||
// 正在进行的投票已经从 voteList 里 poll 出去了,要单独判断,
|
||||
// 否则发起人自己根本取消不了当前这一票
|
||||
if (vote != null && vote.getType() == voteType && vote.getVoteSender().equalsIgnoreCase(name)) {
|
||||
return true;
|
||||
}
|
||||
for (VoteItem item : voteList) {
|
||||
if (item.getType() == voteType && item.getVoteSender().equalsIgnoreCase(name)) {
|
||||
return true;
|
||||
@@ -196,10 +201,10 @@ public class PlayMusic {
|
||||
if (vote.getVoteSender().equalsIgnoreCase(name) && vote.getType() == voteType) {
|
||||
removeVote();
|
||||
if (voteType == VoteItem.VoteType.NEXT) {
|
||||
AllMusic.side.broadcast(AllMusic.getMessage().push.cancel);
|
||||
AllMusic.side.broadcast(AllMusic.getMessage().vote.cancel);
|
||||
}
|
||||
else {
|
||||
AllMusic.side.broadcast(AllMusic.getMessage().vote.cancel);
|
||||
AllMusic.side.broadcast(AllMusic.getMessage().push.cancel);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class PushObj {
|
||||
if (doVote == null)
|
||||
doVote = "<light_purple>[AllMusic]<yellow>已发起插歌投票";
|
||||
if (bq == null)
|
||||
bq = "<light_purple>[AllMusic]<yellow>" + ARG.player + "发起了插歌投票,将曲目" + ARG.musicName + "-" + ARG.musicAuthor + "调整到下一首播放," + ARG.time + "秒后结束,输入/music push 同意插歌,需要至少" + ARG.countAll + "名玩家同意才会插歌。";
|
||||
bq = "<light_purple>[AllMusic]<yellow>" + ARG.player + "发起了插歌投票,将曲目" + ARG.musicName + "-" + ARG.musicAuthor + "调整到下一首播放," + ARG.time + "秒后结束,输入/music agree 同意插歌,需要至少" + ARG.countAll + "名玩家同意才会插歌。";
|
||||
if (bq1 == null)
|
||||
bq1 = "<light_purple>[AllMusic]<yellow>或者点击 ";
|
||||
if (bq2 == null)
|
||||
|
||||
Reference in new issue
Block a user