Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 如何获取行会成员的角色及其信息_Javascript_Node.js_Discord.js - Fatal编程技术网

Javascript 如何获取行会成员的角色及其信息

Javascript 如何获取行会成员的角色及其信息,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,如何获得当前公会中消息作者的角色? 当我搜索角色时,我只找到了如何检查某人是否有角色或让每个人都有角色。 我已经为它开辟了一个空间。我很确定我需要更多的字段。当你使用消息时。author你得到一个用户对象:要获得该用户的角色,你需要使用GuildMember对象,你可以通过消息.member获得该对象。下面是一个例子: 让authorUser=message.author, authorMember=message.member 让authoroles=authorMember.roles.ca

如何获得当前公会中消息作者的角色? 当我搜索角色时,我只找到了如何检查某人是否有角色或让每个人都有角色。
我已经为它开辟了一个空间。我很确定我需要更多的字段。

当你使用
消息时。author
你得到一个用户对象:要获得该用户的角色,你需要使用
GuildMember
对象,你可以通过
消息.member
获得该对象。下面是一个例子:

让authorUser=message.author,
authorMember=message.member
让authoroles=authorMember.roles.cache//Collection

如您所见,我曾经获得角色集合:然后您可以使用它来做任何您想做的事情。

当您使用
消息时。author
您获得一个用户对象:要获得该用户的角色,您需要使用
GuildMember
对象,您可以通过
Message.member
获得该对象。下面是一个例子:

让authorUser=message.author,
authorMember=message.member
让authoroles=authorMember.roles.cache//Collection
如您所见,我曾经获取角色集合:然后您可以使用它来执行任何您想要的操作。

Discord.js版本11:

获得角色 Discord.js第12版:

获得角色
roles/roles.cache是一个集合,因此我们可以使用其名为“map”的方法将每个项映射到数组中的另一个值。然后,对数组使用.join()将其转换为字符串,其中包含我们需要的信息。.join()的第一个参数是分隔符

例如:

const数组=[“角色1”、“角色2”、“角色3”];
console.log(Array.join(“,”)
Discord.js版本11:

获得角色 Discord.js第12版:

获得角色
roles/roles.cache是一个集合,因此我们可以使用其名为“map”的方法将每个项映射到数组中的另一个值。然后,对数组使用.join()将其转换为字符串,其中包含我们需要的信息。.join()的第一个参数是分隔符

例如:

const数组=[“角色1”、“角色2”、“角色3”];

console.log(Array.join(“,”)
你能帮我翻译一下吗?我没有找到我想要的awnser。我希望你能直截了当地告诉我,我是如何试图找到奥恩瑟的,但没有用。不过我还是很感激你的编辑。你在使用Discord.js V12吗?我知道我可能看起来很傻,但是你应该如何找到你正在使用的Discord.js的版本呢?转到package.json并检查依赖项。你能帮我吗?我没有找到我想要的awnser。我希望你能直截了当地告诉我,我是如何试图找到奥恩瑟的,但没有用。不过,我很欣赏这个编辑。你在使用Discord.js V12吗?我知道我可能看起来很笨,但你应该如何找到你正在使用的Discord.js的版本?转到package.json并检查依赖项。不过,我如何从中获得实际的角色(你分配给处于Discord中的人的角色)。我试着通过说console.log(msg.member.roles.cache)来查看它的内容,这里就是我得到的(太长了,无法在这里显示)。如何从中提取实际角色。我确实找到了一个角色。它只说了[RoleManager],但这不是我想要的。嗯,这是一个,在discord.js中经常使用的结构。您已经拥有了这些角色,只是您必须通过收集方法(在文档中列出)来访问它们。如果不想使用它们,还可以使用以下方法将集合转换为数组:即
让rolesArray=authorMember.roles.cache.array()
。123@mataldin这解决了你的问题吗?如果是这种情况,请点击左侧的勾号接受答案:这样,问题将被标记为solvedI ticked,这是在此之前发送的另一条消息。我勾选了Jakye的回答,因为这是第一条弹出的消息,给了我一个awnser。有两个代码片段的一个。我如何从中获得实际角色(分配给处于不和谐状态的人的角色)。我试着通过说console.log(msg.member.roles.cache)来查看它的内容,这里就是我得到的(太长了,无法在这里显示)。如何从中提取实际角色。我确实找到了一个角色。它只说了[RoleManager],但这不是我想要的。嗯,这是一个,在discord.js中经常使用的结构。您已经拥有了这些角色,只是您必须通过收集方法(在文档中列出)来访问它们。如果不想使用它们,还可以使用以下方法将集合转换为数组:即
让rolesArray=authorMember.roles.cache.array()
。123@mataldin这解决了你的问题吗?如果是这种情况,请点击左侧的勾号接受答案:这样,问题将被标记为solvedI ticked,这是在此之前发送的另一条消息。我勾选了Jakye的回答,因为这是第一条弹出的消息,给了我一个awnser。有两个代码段的那个。这很有意义。我会拍一张截图,因为这可能在以后很重要,我不想再问这个问题了。这很有道理。我将截图,因为这可能是重要的以后,我不想再问这个问题。
const Discord = require('discord.js');
const bot3 = new Discord.Client();

const token3 = 'I am not telling my bots token';
const mark2 = '*info personal'
bot3.on('message', msg =>{
    let args2 = msg.content.substring(mark2.length).split('')
    if (msg.content.startsWith(mark2)){
        const hashitag = msg.author.id
        const actualhashitag = msg.author.discriminator
        const evenbetterhashitag = "#" + actualhashitag 
        const personalembed = new Discord.MessageEmbed()
            .setTitle('Stuff about you')
            .setImage(msg.author.displayAvatarURL())
            .setColor('#D11111')
            .addField('Your username',  msg.author.username)
            .addField('Your hashtag', hashitag, true)
            .addField('Your actual hashtag', actualhashitag, true)
            .addField('Your even realer hashtag', evenbetterhashitag, true)   
            .addField('Your amount of friends', 'Discord bots can not know that sadly')
            .addField('Your role', )
        msg.channel.send(personalembed)
    }

})

bot3.login(token3)
message.member.roles.map(role => role.name).join(", ")
//Result: Role1, Role2, Role3, Role4 etc...
message.member.roles.cache.map(role => role.name).join(", ")
//Result: Role1, Role2, Role3, Role4 etc...