【问题标题】:Discord.js check rolesDiscord.js 检查角色
【发布时间】:2017-08-25 04:34:25
【问题描述】:

如何查看某个服务器/公会的角色?

场景: 我有两个不和谐的服务器,一个旧的有 3k + 人,另一个是新的:只有选定的人可以加入,我的机器人在两者上。 我一直在通过 PM 发出邀请,但我想公开邀请链接 但是只有某些人可以加入新服务器,只有具有“OG”角色的人,如果他们在服务器 1 中没有该角色,他们将在尝试加入时被服务器 2 踢/禁止

到目前为止我有这个:

bot.on("guildMemberAdd", member => {
  let guild = member.guild;
  let user = member.user;
  // log [join] from each server 
  console.log(user.username + " (" + user.id + ") joined " + guild.name + " (" + guild.id + ")");

});

【问题讨论】:

  • 我没有理解你的实际问题。
  • 我解决了我认为的问题,更好吗? :)

标签: javascript discord


【解决方案1】:

只要您在客户的公会列表中有您要检查角色的服务器的Guild 对象,这并不难做到。您需要做的就是找出您要检查权限的公会的 id 字符串。然后,您需要从其他公会获取用户的GuildMember 并检查其角色。如果他们不在其他公会或他们没有角色,踢/禁止他们。

bot.on("guildMemberAdd", member => {
  let guild = member.guild;
  let user = member.user;
  let oldGuild = bot.guilds.filter(x.id => x === /* put the id string here */);
  let oldGuildMember = oldGuild.member(user);
  if (oldGuildMember == undefined || !oldGuildMember.roles.has('OG')) {
    member.kick().then((kicked) => {
      if (kicked) {
        console.log('Kicked ' + user.name);
      } else {
        console.log('Failed to kick user.');
      }
    });
  }
});

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 2021-02-24
    • 2021-04-06
    • 2022-10-23
    • 2021-08-28
    • 2021-04-21
    • 2020-09-21
    • 2021-03-02
    • 2021-01-02
    相关资源
    最近更新 更多