首页 > 解决方案 > 有人可以帮我修复这个脚本吗?

问题描述

const Discord = require("discord.js");
const client = new Discord.Client(); 
const config = require("./config.json"); 

client.on("guildMemberAdd", member =>{
  var role = member.guild.roles.find("ID", "here I put the role id");
  member.addRole(role);    
});

这个脚本给出了错误,我不知道如何修复它。错误是:

member.guild.roles.find 不是函数

标签: javascriptdiscorddiscord.js

解决方案


discord.jsv12+ 使用Managers,因此您必须添加缓存属性。

代替:

var role = member.guild.roles.find("ID", "here I put the role id");

和:

var role = member.guild.roles.cache.find(role => role.id === 'ID Here')

一个更简单的方法是使用以下.get()方法:

var role = member.guild.roles.cache.get("ID Here")

尽管两者都可以。


discord.jsv12+ 开始,该addRole()方法被弃用。相反,将其替换为:

member.roles.add(role)

推荐阅读