Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 |为接收其他角色的用户分配特定角色_Javascript_Discord_Discord.js - Fatal编程技术网

Javascript Discord.js |为接收其他角色的用户分配特定角色

Javascript Discord.js |为接收其他角色的用户分配特定角色,javascript,discord,discord.js,Javascript,Discord,Discord.js,我正在开发一个机器人,在一个已经使用其他机器人进行角色分配的服务器上工作。我所需要做的就是,每当一个用户被分配到一个特定的角色时,给这个用户另一个特定的角色。机器人的其他部分都很好地解决了,但我似乎无法弄清楚这一点。有人知道怎么做吗?可能吗?提前感谢。您可以跟踪角色何时被分配到guildMemberUpdate事件 client.on('guildMemberUpdate',(旧成员,新成员)=>{ //首先,确保角色已分配 如果( !oldMember.roles.cache.has('角色I

我正在开发一个机器人,在一个已经使用其他机器人进行角色分配的服务器上工作。我所需要做的就是,每当一个用户被分配到一个特定的角色时,给这个用户另一个特定的角色。机器人的其他部分都很好地解决了,但我似乎无法弄清楚这一点。有人知道怎么做吗?可能吗?提前感谢。

您可以跟踪角色何时被分配到
guildMemberUpdate
事件

client.on('guildMemberUpdate',(旧成员,新成员)=>{
//首先,确保角色已分配
如果(
!oldMember.roles.cache.has('角色ID')&&
newMember.roles.cache.has('Role ID')
) {
newMember.roles.add('Role ID');
//做点什么。。。
};
});

client.on('guildMemberUpdate',(oldMember,newMember)=>{let firstrole=message.guild.roles.find(r=>r.name==='780111045275942932');if(!oldMember.roles.cache.has(firstrole)&&newMember.roles.cache.has(firstrole)){let role=message.guild.roles.roles.find(r=>r.name==='737490175470600222');newMember.roles.add(role);};};
这可能是一个非常愚蠢的问题,但这是怎么回事?起初它给出了一个权限错误,我已经纠正了。现在它在终端中没有显示任何内容,但就是不起作用。
Collection.prototype.has()
,在本例中,接受的是角色ID,而不是角色对象。无需获取整个角色或为其创建变量,只需在我概述的位置使用ID即可。对于糟糕的格式,我仍在思考中。这是我最初做的,但仍然没有得到任何结果:
client.on('guildMemberUpdate'),(oldMember,newMember)=>{if(!oldMember.roles.cache.has('780111045275942932')&&newMember.roles.cache.has('780111045275942932')){newMember.roles.add('737490175470600222');};};
我刚刚注意到我的实现不正确。感谢您的帮助,它工作得很好!