From f168eea62160e88455c699d805e615410e3ea513 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Fri, 23 Jul 2021 13:27:46 -0600 Subject: [PATCH] Update interaction handlers to work with the new DB structure --- src/utils/components/buttons/count_votes.ts | 5 +++-- src/utils/components/buttons/delete_vote.ts | 9 +++++---- src/utils/components/buttons/my_vote.ts | 11 ++++++----- src/utils/components/buttons/view_db.ts | 3 ++- src/utils/components/dropdowns/select_quote.ts | 17 +++++++++-------- 5 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/utils/components/buttons/count_votes.ts b/src/utils/components/buttons/count_votes.ts index 570290d..6da91cb 100644 --- a/src/utils/components/buttons/count_votes.ts +++ b/src/utils/components/buttons/count_votes.ts @@ -2,10 +2,11 @@ import { db } from "@/main"; export async function countVotes(data: any): Promise { + let gID = data.guild_id; let response = `Quote Votes:`; - for (var i in db.bracket.quotes) { - response += `\n${db.bracket.votes[i] ?? 0} votes for \`${db.bracket.quotes[i]}\``; + for (var i in db[gID].bracket.quotes) { + response += `\n${db[gID].bracket.votes[i] ?? 0} votes for \`${db[gID].bracket.quotes[i]}\``; }; return { type: 4, diff --git a/src/utils/components/buttons/delete_vote.ts b/src/utils/components/buttons/delete_vote.ts index 7e892ce..25de0ce 100644 --- a/src/utils/components/buttons/delete_vote.ts +++ b/src/utils/components/buttons/delete_vote.ts @@ -3,8 +3,9 @@ import { db } from "@/main"; export async function deleteVote(data: any): Promise { let userID = data.member.user.id; + let gID = data.guild_id; - if (!db.bracket.users[userID]) { + if (!db[gID].bracket.users[userID]) { return { type: 4, data: { @@ -15,10 +16,10 @@ export async function deleteVote(data: any): Promise { }; // Subtract user's vote from total - let vote = db.bracket.users[userID]; - --db.bracket.votes[vote]; + let vote = db[gID].bracket.users[userID]; + --db[gID].bracket.votes[vote]; - delete db.bracket.users[userID]; + delete db[gID].bracket.users[userID]; return { type: 4, diff --git a/src/utils/components/buttons/my_vote.ts b/src/utils/components/buttons/my_vote.ts index b979299..b144953 100644 --- a/src/utils/components/buttons/my_vote.ts +++ b/src/utils/components/buttons/my_vote.ts @@ -1,18 +1,19 @@ import { db } from "@/main"; export async function showUserVote(data: any): Promise { - let vote = db.bracket.users[data.member.user.id]; - let quote = db.bracket.quotes[vote]; + let gID = data.guild_id; + let vote = db[gID].bracket.users[data.member.user.id]; + let quote = db[gID].bracket.quotes[vote]; - let response = `You currently haven't voted for a quote!`; + let content = `You currently haven't voted for a quote!`; if (quote) { - response = `Your vote is for:\n> ${quote}`; + content = `Your vote is for:\n> ${quote}`; }; return { type: 4, data: { - content: response, + content, flags: 1 << 6, } }; diff --git a/src/utils/components/buttons/view_db.ts b/src/utils/components/buttons/view_db.ts index c814ef6..9b8c042 100644 --- a/src/utils/components/buttons/view_db.ts +++ b/src/utils/components/buttons/view_db.ts @@ -2,10 +2,11 @@ import { db } from "@/main"; export async function viewDB(data: any): Promise { + let gID = data.guild_id; return { type: 4, data: { - content: `\`\`\`json\n${JSON.stringify(db.bracket, null, ' ')}\`\`\``, + content: `\`\`\`json\n${JSON.stringify(db[gID].bracket, null, ' ')}\`\`\``, flags: 1 << 6, } }; diff --git a/src/utils/components/dropdowns/select_quote.ts b/src/utils/components/dropdowns/select_quote.ts index 92965ae..3bf31a7 100644 --- a/src/utils/components/dropdowns/select_quote.ts +++ b/src/utils/components/dropdowns/select_quote.ts @@ -3,7 +3,8 @@ import { db } from "@/main"; export async function selectQuote(data: any): Promise { let vote = parseInt(data.data.values[0]); let userID = data.member.user.id; - let oldVote = db.bracket.users[userID]; + let gID = data.guild_id; + let oldVote = db[gID].bracket.votes[userID]; // Assert votes are different @@ -19,22 +20,22 @@ export async function selectQuote(data: any): Promise { // Set quote to 0 if it hasn't been voted for yet - if (!db.bracket.votes[vote]) { - db.bracket.votes[vote] = 0; + if (!db[gID].bracket.votes[vote]) { + db[gID].bracket.votes[vote] = 0; }; - ++db.bracket.votes[vote]; - db.bracket.users[userID] = vote; + ++db[gID].bracket.votes[vote]; + db[gID].bracket.users[userID] = vote; // User changed their vote if (oldVote != null) { - --db.bracket.votes[oldVote]; + --db[gID].bracket.votes[oldVote]; return { type: 4, data: { - content: `Your vote has been changed from:\n> ${db.bracket.quotes[oldVote]}\nto:\n> ${db.bracket.quotes[vote]}`, + content: `Your vote has been changed from:\n> ${db[gID].bracket.quotes[oldVote]}\nto:\n> ${db[gID].bracket.quotes[vote]}`, flags: 1 << 6, } }; @@ -45,7 +46,7 @@ export async function selectQuote(data: any): Promise { return { type: 4, data: { - content: `Your vote has been recorded for:\n> ${db.bracket.quotes[vote]}`, + content: `Your vote has been recorded for:\n> ${db[gID].bracket.quotes[vote]}`, flags: 1 << 6, } };