Javascript Discord.js是否将数组内的ID替换为与该ID匹配的用户的昵称? if(message.content=='.mutelist'){ var muteIdsList=muteIds.slice(); var memberList=message.guild.members.array(); var convertList=muteIdsList.indexOf(`${memberList}`); log(`${memberList}`); 如果(convertList!==-1){ muteIdsList[convertList]=`${guild.member.昵称}` console.log('Match!') } message.channel.send(`${muteIdsList}`) .catch(函数(err){ 如果(muteID.length>=0){ message.channel.send('此时没有人被静音!'); } 否则{ message.channel.send('发生未知错误,请尝试再次运行该命令!'); } }) }
到目前为止似乎没有任何效果,memberList通过获取公会中的所有用户ID实现了我想要的功能,但将它们显示为普通ID,因此它与我拥有的阵列中的任何项目都不匹配。我想做的是,我复制了一个数组,我用它来保存ID,让人们静音,然后获取公会中的所有ID,运行复制的数组并找到所有匹配项,然后将复制的数组中的ID替换为与该特定ID匹配的用户的昵称。您可以使用message.guild.members访问成员到昵称映射Javascript Discord.js是否将数组内的ID替换为与该ID匹配的用户的昵称? if(message.content=='.mutelist'){ var muteIdsList=muteIds.slice(); var memberList=message.guild.members.array(); var convertList=muteIdsList.indexOf(`${memberList}`); log(`${memberList}`); 如果(convertList!==-1){ muteIdsList[convertList]=`${guild.member.昵称}` console.log('Match!') } message.channel.send(`${muteIdsList}`) .catch(函数(err){ 如果(muteID.length>=0){ message.channel.send('此时没有人被静音!'); } 否则{ message.channel.send('发生未知错误,请尝试再次运行该命令!'); } }) },javascript,arrays,discord.js,Javascript,Arrays,Discord.js,到目前为止似乎没有任何效果,memberList通过获取公会中的所有用户ID实现了我想要的功能,但将它们显示为普通ID,因此它与我拥有的阵列中的任何项目都不匹配。我想做的是,我复制了一个数组,我用它来保存ID,让人们静音,然后获取公会中的所有ID,运行复制的数组并找到所有匹配项,然后将复制的数组中的ID替换为与该特定ID匹配的用户的昵称。您可以使用message.guild.members访问成员到昵称映射 var muteIdsList = muteIds.slice(); // [1
var muteIdsList = muteIds.slice(); // [1]
var memberList = message.guild.members; // {1: nickname1, 2: nickname2}
var mutedNicknameList = muteIdsList.map(x => memberList[x]); // [nickname1]
数据就是人们通过运行一个以ID为参数的命令添加的任何ID填充的数组,仅此而已,但是我如何创建数组的映射并使用昵称设置这些ID的值呢?您能调试并向我展示您从discord中获得的每个列表的外观吗?我仍然不知道你从哪里获得昵称列表以及这些数据的外观。我没有得到昵称列表,我只是得到了公会中所有用户ID的列表,并将它们与数组中的ID进行匹配。如果你没有得到昵称,你将如何将用户ID与他们的昵称进行匹配?这是我不太确定的,或者甚至如何匹配ID并获得昵称。请尝试将问题的描述减少到最低限度的测试用例和问题,谢谢。我给出的描述在没有正确解释问题的情况下尽可能简单。