javascript - 尝试针对当前用户选择一个随机用户以匹配两者具有相同的角色
问题描述
我目前正在尝试为我的不和谐代码创建某种匹配命令。
前半部分很好,但后半部分让我很头疼。例如,为了解释我希望代码如何工作,有许多用户具有相同的角色,并且使用此命令,我希望它选择两个用户。一个是我(使用命令的用户),另一个是列表中的随机数。
我得到了它的工作,但有时我可能会被选为第二个成员,如果可能的话,我想将自己排除在列表之外。考虑一下我自己寻找随机决斗。
选择成功后,该命令将删除队列角色并添加新的匹配角色。我希望我的解释清楚。提前致谢!
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');
}}}
解决方案
msg.member.id
经过无数次试验和错误,我设法确定了这一点。
推荐阅读
- java - 我创建的应用程序不允许我保存图片?
- linux - Arin Bulk whois 数据 perl 无法在 @INC 中找到 BulkWhois/Schema.pm
- google-apps-script - 复选框更改值
- git - 如何在 Visual Studio 和 Github Desktop 中将具有不相关历史记录的代表推送到 github?
- math - 关于另一个矩形旋转移动一个矩形
- sql - 使用视图和最大值的最高居住者的详细信息?
- python - 访问任意树上的特定子级
- angular - 将 *ngIf 与 Ionic 一起使用
- dart - 衰落边缘列表视图 - 颤振
- python - NotSupportedError:不支持身份验证插件“caching_sha2_password”