Skip to content

Instantly share code, notes, and snippets.

@TheOnlyArtz
Created August 28, 2017 17:26
Show Gist options
  • Save TheOnlyArtz/322a06fcc78dc54bfff6d7744a98798c to your computer and use it in GitHub Desktop.
Save TheOnlyArtz/322a06fcc78dc54bfff6d7744a98798c to your computer and use it in GitHub Desktop.
setInterval(async () => {
let arr = await r.table('timers').filter({userID : "NONE"}).run();
if (arr[0].inPunishQueue[0]) {
for (var i = 0; i < arr[0].inPunishQueue.length; i++) {
console.log('Loop started');
let currentUnix = moment().valueOf();
let guildID = arr[0].inPunishQueue[i]['guildID'];
let userID = arr[0].inPunishQueue[i]['userID'];
let usersUnix = await r.table('timers').filter({
guildID : guildID,
userID : userID
}).run()
console.log(usersUnix[0].mute, currentUnix);
if (usersUnix[0].mute && usersUnix[0].mute < currentUnix) {
let muteRole = client.guilds.get(guildID).roles.find('name', 'may-muted');
client.guilds.get(guildID).members.get(userID).removeRole(muteRole);
let p = arr[0].inPunishQueue
function findInd(element) {
return element.userID === userID && element.guildID === guildID
}
p.findIndex(findInd)
let appendToArray = (table, uArray) => r.table(table)
.filter({userID : "NONE"})
.update(object => ({ [uArray]: object(uArray)
.default([]).deleteAt(p.findIndex(findInd)) }))
.run();
appendToArray('timers', 'inPunishQueue');
await r.table('timers').filter({
guildID : guildID,
userID : userID
}).delete().run();
}
}
}
}, ms('10s'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment