簡體   English   中英

如何為特定公會中的用戶添加角色

[英]How to add a role to a user in a specific guild

所以我有這個當前的代碼:

const mutualGuilds = bot.guilds.cache.filter((guild) => {
  return guild.members.cache.has(message.author.id);
});

if (mutualGuilds.roles.cache.has("guildid")) {
  if (mutualGuilds.users.cache.has(user.id)) {
    let userInGuild = mutualGuilds.users.cache.find(user.id).roles.add("roleid");
  }
}

當我嘗試它輸出的命令時: Cannot read property 'cache' of undefined

如果有人可以提供幫助,那就太棒了,因為我的機器人今天發布了。

如果您使用.filter方法獲取mutualGuilds ,它將返回一個集合。 您只能在單個公會上訪問.roles屬性,因此您需要獲取 .first .first()例如,如下所示:

const mutualGuilds = bot.guilds.cache.filter((guild) => {
  return guild.members.cache.has(message.author.id);
});

if (mutualGuilds.first().roles.cache.has("guildid")) {
  // ...

或者您可以使用.each()方法為每個互助行會執行一次提供的 function:

const mutualGuilds = bot.guilds.cache.filter((guild) => {
  return guild.members.cache.has(message.author.id);
});

mutualGuilds.each((guild) => {
  if (guild.roles.cache.has("guildid")) {
  // ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM