Files
selmerBot/commands/turnManager.js
T

49 lines
1.4 KiB
JavaScript
Raw Normal View History

//THESE STRUCTURES SUPPORTS TWO PLAYERS ONLY!!!!
//Determines who's turn it currently is
function getTurn(client, bot, interaction) {
return new Promise(function(resolve, reject) {
const db = client.db('B|S' + bot.user.id);
const dbo = db.collection(interaction.member.guild.id);
let id = interaction.user.id;
//Check if you're in the right thread
// dbo.find({thread: {$exists: true}}).toArray(function(err, docs) {
// if (docs[0].thread) {}
// });
dbo.find({$or: [ {0: id}, {1: id} ]}).toArray(function(err, docs) {
if (err) { console.log(err); }
const doc = docs[0];
const turn = String(doc.turn);
//#TODO Optimize this somehow.........
let currentuser;
for (const [key, value] of Object.entries(doc)) {
if (key == turn) { currentuser = value; break; }
}
//Return statement?
// throw "NO";
resolve([currentuser, doc]);
});
});
}
function changeTurn(client, bot, interaction) {
const db = client.db('B|S' + bot.user.id);
const dbo = db.collection(interaction.member.guild.id);
dbo.find({turn: {$exists: true}}).toArray(function (err, docs) {
let turn = docs[0].turn;
turn = Number(!turn);
dbo.updateOne(docs[0], {$set: {turn: turn}});
});
}
module.exports = { getTurn, changeTurn }