Randomly matches someone who runs the command with another member of the server, and challenges them to a duel!
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
// Returns a random set of users on the server.
async function getMembers(init, afterId){
let getMembersParams = {
guild_id: `${context.params.event.guild_id}`,
limit: 1000
}
if (!init && afterId) {
getMembersParams["after"] = afterId;
}
let members = await lib.discord.guilds['@0.1.0'].members.list(getMembersParams);
if ( Math.random() > 0.5 && members.length === 1000){
let indexSecondLast = members.length - 2;
let secondLastUser = members[indexSecondLast].user
await getMembers(false, secondLastUser.id)
} else {
return members;
}
}
if (context.params.event.content.startsWith(`${process.env.PREFIX}duel`)) {
membersList = await getMembers(true, false);
let memberChoice = (membersList.length === 1)? 0 : Math.floor(Math.random() * membersList.length);
let chosenMember = membersList[memberChoice];
await lib.discord.channels['@0.1.1'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: `<@${context.params.event.author.id}> has challenged <@${chosenMember.user.id}> to a **duel**! `
});
}