Javascript discord.js为消息作者破例

Javascript discord.js为消息作者破例,javascript,random,discord,discord.js,Javascript,Random,Discord,Discord.js,我有一个随机选择用户的代码,显示他们的名字和他们赢了什么,问题是它也可以使发送赠品信息的用户成为赢家,机器人也一样。我怎样才能为msg.author破例 if(msg.content.startsWith('-giveaway')) { const suggestion = msg.content.slice(10); const user = msg.guild.members.random(); let embed = new Discord.Ri

我有一个随机选择用户的代码,显示他们的名字和他们赢了什么,问题是它也可以使发送赠品信息的用户成为赢家,机器人也一样。我怎样才能为msg.author破例

if(msg.content.startsWith('-giveaway'))
    {
      const suggestion = msg.content.slice(10);
      const user = msg.guild.members.random();
      let embed = new Discord.RichEmbed()
        .setTitle('Prize : ' + suggestion)
        .addField('Host : ', msg.author)
        .addField('Nyertes : ', user)
        .setFooter('Verzió 1.1')
        .setTimestamp()
        msg.channel.send(embed);
        console.log(`${user.user}`).catch(console.error);
    }

在选择随机用户之前,您可以从用户列表中筛选出消息作者:

const userList=msg.guild.members.filter(user=>user.id!==msg.author.id | |!msg.author.bot | | | msg.member.roles.some(role=>role.name=='RoleName')| | msg.member.roles.some(role=>role.id=='role|u id'));
const user=userList.random();

这对消息作者有效,但有没有办法通过角色或机器人的ID逐个过滤它们?我编辑了我的答案,并添加了其他对您有帮助的过滤器