【问题标题】:showing user with multiple roles discord.js显示具有多个角色的用户 discord.js
【发布时间】:2020-01-16 06:20:40
【问题描述】:

将此命令设置为仅一个角色。我想设置多个角色。我该怎么做?

let rolid = "663047983675342849"; 
  let tokuchi = client.guilds
    .get(sunucuid)
    .roles.get(rolid)
    .members.filter(o => !o.voiceChannel).map(member => member.user); 

 .setDescription(tokuchi.join("\n"))```

【问题讨论】:

  • 你的问题不是很清楚,建立角色是为了什么,这些角色需要做什么?
  • 当我写前缀+名字时,我试图列出那些不在我指定角色中的声音的人的名字。 link 以上就是全部代码

标签: node.js discord.js


【解决方案1】:

您可以像这样让所有具有多个角色的成员,但显示的其他代码会留下问题

    let sGuild = client.guilds.get(sunucuid)
    let membersWithRoles = sunucuid.members.filter(member => {
        return member.roles.some(r=>['ROLEID','ROLEID'].includes(r.id))
    })

console.log(membersWithRoles)

v2 版本 一开始你不需要在所有命令中都获得公会,为此使用message.guild

此代码将返回具有您的任何角色的用户用户名数组,如果他们现在没有语音连接。

exports.run = async (client, message, args) => {
    if(message.channel.type === 'dm') return
    if (!message.member.hasPermission("ADMINISTRATOR"))
      return message.channel.send(" Missing Permission");
      let tokuchi = message.guild.members.filter(member => {
        return member.roles.some(r=>['ROLEID','ROLEID'].includes(r.id)) && !member.voiceChannel
    }).map(member => (member.user.username))

  const basarili = new Discord.RichEmbed()
      .setColor('RANDOM')
      .setAuthor(`Seste Olmayan Yetkililer`, client.user.avatarURL)
      .setDescription(tokuchi.join("\n"))
      .setFooter("Created by Tokuchi")
      .setTimestamp()
      .addField(`İşlemi Gerçekleştiren Kişi:`, `${message.author.username}#${message.author.discriminator}`)
  return message.channel.send(basarili)


  };

它返回一个 users.username 因为你不能.join('\n) users,它是一个集合,而不是数组。

【讨论】:

  • 我认为这个命令对这个命令不起作用link
  • 您需要获取具有任何角色之一且现在不在语音频道中的用户,对吧?
猜你喜欢
  • 2015-08-01
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 2021-02-14
  • 1970-01-01
  • 2019-08-11
  • 2019-05-03
相关资源
最近更新 更多