0
votes

Discord, JS TypeError: membre.Guild.Roles.Find n'est pas une fonction

Je continue à obtenir cette erreur. Je fais un bot pour mon serveur de discorder et j'essaie de mettre en œuvre un rôle d'ajout de fonction lorsque quelqu'un se joint et continue à obtenir cette erreur.

  
  const channel = member.channels.cache.find(ch => ch.name === 'welcome');
  
  if (!channel) return;
  
  channel.send(`Welcome to the Server, ${member}`);
});

bot.on('guildMemberAdd', member => {
role = member.addRole(member.guild.roles.find("name","member"));
});```


0 commentaires

3 Réponses :


0
votes

Je pense que rôles n'est pas la valeur que vous vous attendez à ce que ce soit. S'il s'agissait d'un tableau ou d'un objet avec une méthode , vous n'obtiendrez pas cette erreur. Connectez-vous la valeur de Rôles pour déterminer quel type de données il est, puis changez en conséquence. xxx


0 commentaires

0
votes

Dans la dernière version de discord.js, vous devez faire membre.Cuild.roles.cache pour obtenir la collection.

puis faire membre.Cuild.roles.cache.find (....) avec ce que vous voulez trouver :)

J'espère que cela vous aidera!


0 commentaires

1
votes

Selon Discord.js Documentation , je pense Vous pouvez mettre en œuvre avec:

member.guild.roles.cache


2 commentaires

J'ai essayé votre code et j'ai reçu cette erreur fn = fn.bind (thisarg);


@Derekpenguin J'ai essayé ce code à mon serveur Bot et fonctionne bien. Assurez-vous que votre variable "membre" est le type de GuildMember (vous pouvez l'obtenir par message.member) et votre rôle "scriptkiddie" existe. Si vous avez toujours des problèmes, joignez des informations supplémentaires afin que je puisse vous aider.