Discord.js与角色之间的问题
我试图创建一个命令,将特定角色(按名称)赋予消息作者。我现在的代码是Discord.js与角色之间的问题,discord.js,Discord.js,我试图创建一个命令,将特定角色(按名称)赋予消息作者。我现在的代码是 client.on('message', message =>{ if(!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const command = args.shift()
client.on('message', message =>{
if(!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
const user = message.mentions.users.first();
if(command === "mod"){
let role = message.guild.roles.find(r => r.name === "test");
let member = message.mentions.members.first();
member.roles.add(role)
}
});
但是我得到了一个类型错误
let role = message.guild.roles.find(r => r.name === "test");
^
TypeError: message.guild.roles.find is not a function
Discord JS v12引入了管理器的概念,您将不再能够直接在数据结构(如)上使用方法。在尝试使用收集方法之前,您现在必须直接请求管理器上的缓存
let role=message.guild.roles.cache.find(r=>r.name==“test”);
错误在于,在discord.js的第12版中,您需要使用缓存
,因此您的代码将
let role=message.guild.roles.cache.find(r=>r.name==`test`);
让member=message.notices.members.first();
member.roles.add(角色)
您的discord.js版本是什么?discord版本V12现在使用.cache
。所以试试这个:message.guild.roles.cache.find(r=>r.name==“test”)
这能回答你的问题吗?这回答了你的问题吗?