javascript - 有人可以帮我修复这个脚本吗?
问题描述
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 不是函数
解决方案
discord.js
v12+ 使用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.js
v12+ 开始,该addRole()
方法也被弃用。相反,将其替换为:
member.roles.add(role)
推荐阅读
- powershell - 在从控制面板卸载第三方应用程序期间,我收到此错误。您不能在空值表达式 PowerShell 上调用方法
- vue.js - 观看 Vue 3 全局变量的变化
- .net - .NET 5 控制台应用程序 - 处理 OAuth2 重定向 URL
- msbuild - 从非 CPP 项目访问 $(VCToolsInstallDir)
- javascript - 从地图框中的标记中检索坐标
- javascript - 更改列表中的文本并保留属性
- three.js - AFrame - 更新元素的矩阵
- python - 从 Python 数据框中提取值
- python - 用系列修改多索引切片
- mysql - 带有 MYSQL 后端和非常简单的查询的 Access 中的“操作必须使用可更新的查询”