Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 memb.guild.roles.find不是一个函数_Javascript_Discord_Bots - Fatal编程技术网

Javascript memb.guild.roles.find不是一个函数

Javascript memb.guild.roles.find不是一个函数,javascript,discord,bots,Javascript,Discord,Bots,我有一个代码,如果有人加入bot,则会给出Privat消息和角色,但当用户加入时,bot不会给出消息和角色 类型错误:memb.guild.roles.find const AUTOROLEID = "689098211536666624" client.on('guildMemberAdd', (memb) => { var role = memb.guild.roles.find(r => r.id == "68909821153

我有一个代码,如果有人加入bot,则会给出Privat消息和角色,但当用户加入时,bot不会给出消息和角色

类型错误:memb.guild.roles.find

    const AUTOROLEID = "689098211536666624"

client.on('guildMemberAdd', (memb) => {

    var role = memb.guild.roles.find(r => r.id == "689098211536666624")

    if (role) {
        memb.addRole(role).then(() => {
            memb.send('', new Discord.MessageEmbed().setColor(0x18FFFF).setDescription(`Willkommen aufm Discord deine aktuelle rolle ist ${role.name}!`))
        })
    }
})
由于您需要在
.guild.roles
之后访问属性
缓存
,该属性是公会中所有角色的集合,因此您可以尝试以下操作:

var-role=memb.guild.roles.cache.find(r=>r.id==“689098211536666624”)

根据给定的代码,我假设您使用的是不推荐使用的discord.js v11。所以更新到v12。v12引入了管理器/缓存的概念。在v11中,您可以在收集结构上使用收集方法,如
get()
find()
,但现在您需要在尝试使用收集方法之前请求上的缓存

例如:

.addRole()
方法已被弃用。您需要通过managers()然后调用
.add()
方法

例如:

var role = memb.guild.roles.cache.find(r => r.id == "689098211536666624") //find requires a function
var var role = memb.guild.roles.cache.get("689098211536666624"); //get requires an ID as string.
var role = memb.guild.roles.cache.find(r => r.id == "689098211536666624")
if(role){
  memb.roles.add(role).then(()=>{
   //do things.
  }
}