From a8288aef1fdd2242a7142b3b1b64e88ccdee6380 Mon Sep 17 00:00:00 2001 From: WubzyGD Date: Fri, 20 Nov 2020 13:08:40 -0700 Subject: [PATCH] add starting to secret santa... probably --- commands/pull.js | 1 + commands/secretsanta.js | 39 +++++++++++++++++++++++---------------- template.js | 20 ++++++++++++++++++++ test.js | 15 +++++++++++---- 4 files changed, 55 insertions(+), 20 deletions(-) diff --git a/commands/pull.js b/commands/pull.js index eac43a0..7daab80 100644 --- a/commands/pull.js +++ b/commands/pull.js @@ -24,6 +24,7 @@ module.exports = { } else { console.log(`\n${chalk.gray('[INFO]')} >> ${chalk.hex('ff4fd0')(`VCS Pull successful`)}\n`); } + return message.channel.send(`Done with ${stderr || error ? 'an error' : 'no errors'}!`); }); } }; \ No newline at end of file diff --git a/commands/secretsanta.js b/commands/secretsanta.js index 48ec162..40e40cd 100644 --- a/commands/secretsanta.js +++ b/commands/secretsanta.js @@ -145,25 +145,32 @@ module.exports = { if (tss.started) {return message.channel.send("Your Secret Santa is already started!");} if (tss.members.length < 3) {return message.channel.send("You need to have at least 3 members in order to start.");} - let dm = []; let cm; let rm; let rm2; - while (true) { - rm = tss.members[Math.floor(Math.random() * tss.members.length)]; - rm2 = tss.members[Math.floor(Math.random() * tss.members.length)]; - if (rm.id !== rm2.id) { - dm.push([rm, rm2]); - break; + let dm = []; let rm; + let m; for (m of tss.members) {dm.push({name: m.id, assignedTo: null});} + for (m of dm) { + while (true) { + let rm = tss.members[Math.floor(Math.random() * tss.members.length)]; + let exists = false; + let cdm; for (cdm of dm) {if (!exists) {exists = cdm.assignedTo === rm.id;}} + if (!exists && rm.id !== m.name) {dm[dm.indexOf(m)] = {name: m.name, assignedTo: rm.id}; break;} } } - let i; for (i=0;i { + let host = await client.users.fetch(tss.owner); + await host.send(`There was a problem sending ${mem.name} their info. Please tell that member that they have been assigned to \`${assignment.name}\` and that they want \`${assignment.info}\`.`); + }); } - let mg; let asg = []; for (mg of dm) {asg.push({name: mg[0].id, assignedTo: mg[1].id});} - tss.assignments = asg; + message.channel.send("**The secret santa has been started!** Everyone should have their assignments."); } } }; \ No newline at end of file diff --git a/template.js b/template.js index a16aa35..74475a2 100644 --- a/template.js +++ b/template.js @@ -3,6 +3,16 @@ const Discord = require('discord.js'); module.exports = { name: "", aliases: [], + meta: { + category: "", + perms: "", + staff: false, + vip: "", + serverPerms: [], + writtenBy: "", + serverOnly: false + }, + tags: [], help: new Discord.MessageEmbed() .setTitle("Help -> ") .setDescription("") @@ -19,6 +29,16 @@ const Discord = require('discord.js'); module.exports = { name: "", aliases: [], + meta: { + category: "", + perms: "", + staff: false, + vip: "", + serverPerms: [], + writtenBy: "", + serverOnly: false + }, + tags: [], help: "", async execute(message, msg, args, cmd, prefix, mention, client) { if (!args.length) {return message.channel.send(`Syntax: \`${prefix}\``);} diff --git a/test.js b/test.js index 94412ed..759f5ca 100644 --- a/test.js +++ b/test.js @@ -34,9 +34,16 @@ let tss = { assignments: [] } -let dm = []; let cm; let rm; let rm2; - -let mg; let asg = []; for (mg of dm) {asg.push({name: mg[0].id, assignedTo: mg[1].id});} -tss.assignments = asg; +let dm = []; let rm; +let m; for (m of tss.members) {dm.push({name: m.id, assignedTo: null});} +for (m of dm) { + while (true) { + let rm = tss.members[Math.floor(Math.random() * tss.members.length)]; + let exists = false; + let cdm; for (cdm of dm) {if (!exists) {exists = cdm.assignedTo === rm.id;}} + if (!exists && rm.id !== m.name) {dm[dm.indexOf(m)] = {name: m.name, assignedTo: rm.id}; break;} + } +} +tss.assignments = dm; console.log(tss); \ No newline at end of file