首页 > 解决方案 > 类型错误:fn.bind 不是函数。不和谐.js v13

问题描述

我有一个错误,但我不知道如何解决它。我尝试使用它,但找不到任何解决方案,但我是 .js 的新手,我无能为力。

    async run(client, message, username) { 
      
      let gRole = message.guild.roles.cache.find('814663161662799872', 'Zarejestrowany/a');

      let rMember = message.guild.cache.member(message.mentions.users.first() || message.guild.members.get(args[0]));

      var username = message.content.split(" ")[1];
      
      if (message.member.roles.has(gRole.id)) {
        const Nadano = new MessageEmbed()
        .setTitle("Już się zarejestrowałeś/aś")
        .setColor(0x0EC0E7)
        .setTimestamp('')
        .setThumbnail('https://cdn.discordapp.com/avatars/814587842071101530/2b018bbe88c48b277a50145a404cdaea.png?size=512')
        .setDescription("**Jeśli chcesz zmienić konto otwórz ticket na: #|- **")
        message.channel.send(Nadano);
        
      } else {
        let logindata = { 
          username: `${username}`,
          userID: `${message.member.id}`, 
          name: `${message.member.username}`
        };

        rMember.addRole(gRole.id);
        fs.writeFileSync(path.resolve(__dirname, './usersfile.json'), JSON.stringify(logindata));
      }
    } 

标签: javascriptnode.jsdiscord.js

解决方案


在那个版本中,find需要一个函数。

尝试使用以下 ID 通过 ID 获取角色元素:

message.guild.roles.cache.get("ROLID");

或按名称使用:

message.guild.roles.cache.find(r => r.name === "ROLNAMEHERE");

推荐阅读