如何从服务器中选择随机用户?

时间:2020-06-11 12:57:48

标签: javascript node.js discord discord.js

我尝试制作一条机器人命令,并以“((随机用户)是bot”)答复。我尝试了其他解决方案,但没有用。这是我的代码:

if (msg.content === 'wb!bot') {
        let userArray = Array.from(msg.member.guild.members);
        let randomUser = userArray[Math.floor(Math.random() * msg.guild.memberCount)];

        console.log(randomUser);
        console.log(userArray);

        msg.channel.send(randomUser + ' is bot');
}

2 个答案:

答案 0 :(得分:1)

Collection类已经具有.random()方法时,使用math.random是没有意义的

//msg.guild.members.cache if v12
const usersCollection = msg.guild.members;
const randomUser = usersCollection.random();

答案 1 :(得分:0)

您对Math.random的使用不正确。

// Generate the array for the snippet
const userArray = [];

for (let i = 0 ; i < 100 ; ++i) {
  userArray.push(`user${i + 1}`);
}

// Function that returns you a random number
// https://www.w3schools.com/js/js_random.asp
function getRndInteger(min, max) {
  return Math.floor(Math.random() * (max - min) ) + min;
}

// Pick a random user
const user = userArray[getRndInteger(0, userArray.length)];

// Display it
console.log(`${user} is bot`);