我目前正在尝试为我的不和谐代码创建某种匹配命令。
前半部分很好,但后半部分让我很头疼。例如,为了解释我希望代码如何工作,有许多用户具有相同的角色,并且使用此命令,我希望它选择两个用户。一个是我(使用命令的用户),另一个是列表中的随机数。
我得到了它的工作,但有时我可能会被选为第二个成员,如果可能的话,我想将自己排除在列表之外。考虑一下我自己寻找随机决斗。
选择成功后,该命令将删除队列角色并添加新的匹配角色。我希望我的解释清楚。提前致谢!
client.on("message", msg=> {
if(msg.content.toLowerCase() === "!queuepvp") {
const pvpqueue = ['713765272162402355'];
let membersList = msg.guild.members.filter(member => member.roles.some(role => pvpqueue.includes(role.id)));
console.log(membersList.size);
if(membersList.size < 2) {
msg.reply('Not enough PVP seekers in queue.');
return;
}
else{
let randMembers = membersList.random(1);
let firstMember = msg.member;
let secondMember = randMembers[1];
if (!secondMember === msg.member) {
msg.reply("You are matched up against " + secondMember + "!")
firstMember.addRole('713765226495082496');
secondMember.addRole('713765226495082496');
firstMember.removeRole('713765272162402355');
secondMember.removeRole('713765272162402355');
}}}