72 lines
1.5 KiB
JavaScript
72 lines
1.5 KiB
JavaScript
/**
|
|
* adds a count to user for 'taskmaster'
|
|
*
|
|
* @param {string} username
|
|
*/
|
|
async function addCountToTaskMasterUser(username, count) {
|
|
const taskmaster = await DBHandler.get("taskmaster");
|
|
|
|
if (!taskmaster.users[username.toLowerCase()]) {
|
|
taskmaster.users[username.toLowerCase()] = {
|
|
taskMasterCompleteCount: 0,
|
|
};
|
|
}
|
|
|
|
taskmaster.users[username.toLowerCase()].taskMasterCompleteCount +=
|
|
parseInt(count);
|
|
|
|
await DBHandler.set("taskmaster", taskmaster);
|
|
}
|
|
|
|
/**
|
|
* gets the count of a user from 'taskmaster'
|
|
*
|
|
* @param {string} username
|
|
* @returns {number} the count of the user
|
|
*/
|
|
async function getUserTaskMasterCount(username) {
|
|
const taskmaster = await DBHandler.get("taskmaster");
|
|
|
|
if (!taskmaster.users[username.toLowerCase()]) {
|
|
return 0;
|
|
}
|
|
|
|
return taskmaster.users[username.toLowerCase()].taskMasterCompleteCount;
|
|
}
|
|
|
|
async function getTaskMasterChampion() {
|
|
const taskmaster = await DBHandler.get("taskmaster");
|
|
|
|
if (!taskmaster.users) {
|
|
return null;
|
|
}
|
|
|
|
let champion = {
|
|
username: "",
|
|
count: 0,
|
|
};
|
|
|
|
for (const user in taskmaster.users) {
|
|
if (
|
|
user.toLowerCase() !== auth.channel.toLowerCase() &&
|
|
taskmaster.users[user].taskMasterCompleteCount > champion.count
|
|
) {
|
|
champion.username = user;
|
|
champion.count = taskmaster.users[user].taskMasterCompleteCount;
|
|
}
|
|
}
|
|
|
|
if (champion.count === 0) {
|
|
return null;
|
|
}
|
|
|
|
return champion;
|
|
}
|
|
|
|
async function resetTaskMaster() {
|
|
await DBHandler.set("taskmaster", {
|
|
users: {},
|
|
startDate: new Date(),
|
|
totalCompleteCount: 0,
|
|
});
|
|
}
|