[英]TypeError: fn.bind is not a function with Discord.js Guild Member Update Event
[英]What is the fn.bind Error code for discord.js?
我正在尝试创建一个命令,让您获得命令 .role {pronoun},如果代词存在,那么它将为您提供现有角色。 但如果它不存在,它将为您提供已经完成的角色:每次运行命令时都会收到一条错误消息,显示“类型错误。fn.bind 不是函数”,但我不知道为什么。 如果你们都可以帮助我,那就太棒了。
client.on('message', async message => {
var input = (message.content.substr(12))
var roleName = (message.content.substr(12));
var role = message.guild.roles.cache.find(r => r.name == roleName);
if(!role){
if (message.member.roles.cache.find("name", "Member")){
message.channel.sendMessage('Sorry you already have a pronoun');
return;
}
else if (input === ""){
message.channel.sendMessage('Please Enter a Valid Pronoun Name');
return;
}
else{
var pronounName = message.guild.roles.find(role => role.name === "Member");
message.member.guild.createRole({
name: message.content.substr(12),
}).then(function(role)
{
message.member.addRole(role);
message.member.addRole(pronounName);
message.channel.sendMessage('You have created the pronoun: ' + role);
});
}
}else{
message.channel.sendMessage('That Pronoun Already Exists!');
return;
}
})
这是由message.member.roles.cache.find("name", "Member")
引起的。 .find()
方法接受 function 作为其第一个参数(您提供了一个字符串)和用作this
作为其第二个参数的值(您提供了另一个字符串)。
您可以通过检查name
属性是否等于"Member"
来找到一个角色:
message.member.roles.cache.find((role) => role.name === 'Member')
PS:您的代码中可能存在其他错误,但TypeError: fn.bind is not a function
可以通过此解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.