Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Discord.js member.user返回成员';s ID被<&燃气轮机;_Javascript_Discord.js - Fatal编程技术网

Javascript Discord.js member.user返回成员';s ID被<&燃气轮机;

Javascript Discord.js member.user返回成员';s ID被<&燃气轮机;,javascript,discord.js,Javascript,Discord.js,我正在尝试为discord bot创建一个命令,该命令列出输入角色的所有成员,我当前正在将成员映射到一个变量,如下所示: 让roleMembs=message.guild.roles.cache.get(roleId.members.map)(m=>m.user) 它在大多数情况下都有效,但是一些成员被输出为,而不是他们的名字,我不确定这是为什么,我也不确定是否有解决办法,任何帮助都将不胜感激,我将在下面留下其余的代码 const Discord = require('discord.js')

我正在尝试为discord bot创建一个命令,该命令列出输入角色的所有成员,我当前正在将成员映射到一个变量,如下所示:

让roleMembs=message.guild.roles.cache.get(roleId.members.map)(m=>m.user)

它在大多数情况下都有效,但是一些成员被输出为,而不是他们的名字,我不确定这是为什么,我也不确定是否有解决办法,任何帮助都将不胜感激,我将在下面留下其余的代码

const Discord = require('discord.js')

module.exports.run = async (client, message, args) => {
    if (!message.member.roles.cache.find(r => r.name === "-------------- SERVER STAFF --------------")) return message.reply("You must be part of the moderation team to use this command!")
    let roleReq = message.content.split(" ").slice(1)
    let role = message.guild.roles.cache.find(r => r.name === roleReq.join(" "))

    if(typeof role === "undefined") return message.channel.send("You have input an invalid role! Please try again!")
    
    let roleId = role.id
    let roleMembs = message.guild.roles.cache.get(roleId).members.map(m=>m.user)

    let roleList = ""

    if(roleMembs.length > 25) {
        let embed = new Discord.MessageEmbed()
       for(let i = 0; i < 25; i++){
          roleList = roleList.concat(`${roleMembs[i]}\n`)
        }

       let roleList2 = ""
       let roleList3 = ""

       let x = 0
       let y = 0

       while(x < 25){
          roleList2 = roleList2.concat(`${roleMembs[x+25]}\n`)
          x++
          if (typeof roleMembs[x+25] === "undefined"){
              break;
            }
        }
        if(roleMembs.length > 50){
            while(y < 25){
                roleList3 = roleList3.concat(`${roleMembs[y+50]}\n`)
                y++
                if (typeof roleMembs[y+50] === "undefined"){
                    break;
                }
            }
        }
        embed.setAuthor(client.user.username, client.user.displayAvatarURL())
        embed.setTimestamp()
        embed.setTitle(`${roleMembs.length} Members with the ${roleReq.join(" ")} role:`)
        embed.setColor("#add8e6")
        embed.addField("‏‏‎ ‎", roleList, true)
        embed.addField("‏‏‎ ‎", roleList2, true)
        if(roleList3.length > 0) {
            embed.addField("‏‏‎ ‎", roleList3, true)
        }

        message.channel.send(embed)
    } else {
        roleMembs.forEach(member => {
            roleList = roleList.concat(`${member}\n`)  
        })
        let embed = new Discord.MessageEmbed()
        embed.setAuthor(client.user.username, client.user.displayAvatarURL())
        embed.setTimestamp()
        embed.setTitle(`${roleMembs.length} Members with the ${roleReq.join(" ")} role:`)
        embed.setColor("#add8e6")
        embed.addField(" ", roleList)
        message.channel.send(embed)
    }
}
const Discord=require('Discord.js')
module.exports.run=async(客户端、消息、参数)=>{
如果(!message.member.roles.cache.find(r=>r.name==“--------------服务器工作人员----------------------”)返回message.reply(“您必须是审核团队的一员才能使用此命令!”)
let roleReq=message.content.split(“”).slice(1)
让role=message.guild.roles.cache.find(r=>r.name===roleReq.join(“”)
if(typeof role==“undefined”)返回message.channel.send(“您输入的角色无效!请重试!”)
让roleId=role.id
让roleMembs=message.guild.roles.cache.get(roleId.members.map)(m=>m.user)
让roleList=“”
如果(roleMembs.length>25){
let embed=new Discord.MessageEmbed()
for(设i=0;i<25;i++){
roleList=roleList.concat(`${roleMembs[i]}\n`)
}
让roleList2=“”
让roleList3=“”
设x=0
设y=0
而(x<25){
roleList2=roleList2.concat(`${roleMembs[x+25]}\n`)
x++
if(角色的类型[x+25]=“未定义”){
打破
}
}
如果(roleMembs.length>50){
而(y<25){
roleList3=roleList3.concat(`${roleMembs[y+50]}\n`)
y++
if(角色名称类型[y+50]=“未定义”){
打破
}
}
}
embed.setAuthor(client.user.username,client.user.displayAvatarURL())
embed.setTimestamp()
embed.setTitle(${roleReq.join(“”)}角色为:`的${roleMembs.length}成员)
嵌入.setColor(“添加8e6”)
嵌入.addField(“‏‏‎ ‎", 角色扮演者(真实)
嵌入.addField(“‏‏‎ ‎“,角色扮演者2,对)
如果(角色列表3.length>0){
嵌入.addField(“‏‏‎ ‎“,角色扮演者3,对)
}
message.channel.send(嵌入)
}否则{
roleMembs.forEach(成员=>{
roleList=roleList.concat(`${member}\n`)
})
let embed=new Discord.MessageEmbed()
embed.setAuthor(client.user.username,client.user.displayAvatarURL())
embed.setTimestamp()
embed.setTitle(${roleReq.join(“”)}角色为:`的${roleMembs.length}成员)
嵌入.setColor(“添加8e6”)
embed.addField(“,roleList)
message.channel.send(嵌入)
}
}
是表示用户提及的不一致标记。在常规消息中,当您提及用户时,它们会显示为可单击的蓝色链接。有时在嵌入中,它们会断开

如果你想要他们的名字,那么通过映射到他们的名字来指定。现在你正在创建一个只包含用户对象的数组,并希望它能吐出他们的名字

let roleMembs = message.guild.roles.cache.get(roleId).members.map(m=>m.user.username)
是表示用户提及的不一致标记。在常规消息中,当您提及用户时,它们会显示为可单击的蓝色链接。有时在嵌入中它们会断开

如果你想要他们的名字,那么通过映射到他们的名字来指定。现在你正在创建一个只包含用户对象的数组,并希望它能吐出他们的名字

let roleMembs = message.guild.roles.cache.get(roleId).members.map(m=>m.user.username)

谢谢你的回复,这是一个遗憾,这种情况下,我假设没有什么工作,我认为是一个错误,而不是交换到只映射他们的用户名,这可能是最新的case@ADragonDood,也许我误解了。什么bug?你想让它在嵌入中显示为提及,但不是吗?我想让它们显示为提到,但正如您所说,它有时会打断嵌入并将其显示为无用,因为它不允许用户单击名称并将其显示给用户profile@ADragonDoodbot开发人员无法绕过Discord客户端的这一限制。有两种情况可能会发生:1.您试图在无效位置(标题、页脚、某些其他位置、字段值应始终有效)或2。查看提及内容的客户端没有缓存该用户,因此它显示为蓝色,但与ID而不是用户名一样。您可能会发现2。可以接受,但移动客户端和桌面客户端的显示方式不同,有时可能只是“@无效用户“。如属1。没有什么可以做的。谢谢你的回复,这是一个遗憾,这种情况下,我假设没有什么工作,我认为这是一个错误,除了交换到只映射他们的用户名,这可能是case@ADragonDood,也许我误解了。什么虫子?你是否希望它在嵌入中显示为提及,但事实并非如此?我希望它们以提及的形式显示,但正如你所说,它有时会在嵌入中中断并显示它们,这是没有用的,因为它不允许用户单击名称并将其带到联系人处profile@ADragonDood机器人开发人员无法解决这个问题Discord客户端的限制。有两种可能发生的事情:1。您试图在无效位置(标题、页脚、其他一些位置、字段值应始终有效)或2中使用提及。查看提及的客户端没有缓存该用户,因此它显示为蓝色,但也显示为ID而不是用户名。你可以找到2个。可以接受,但移动和桌面客户端的显示方式不同,有时可能只是“@invalid user”。在1的情况下。没什么可做的。