0
0
Fork 0

Update interaction handlers to work with the new DB structure

This commit is contained in:
Oliver-Akins 2021-07-23 13:27:46 -06:00
parent ea782af9d9
commit f168eea621
5 changed files with 25 additions and 20 deletions

View file

@ -2,10 +2,11 @@ import { db } from "@/main";
export async function countVotes(data: any): Promise<object> { export async function countVotes(data: any): Promise<object> {
let gID = data.guild_id;
let response = `Quote Votes:`; let response = `Quote Votes:`;
for (var i in db.bracket.quotes) { for (var i in db[gID].bracket.quotes) {
response += `\n${db.bracket.votes[i] ?? 0} votes for \`${db.bracket.quotes[i]}\``; response += `\n${db[gID].bracket.votes[i] ?? 0} votes for \`${db[gID].bracket.quotes[i]}\``;
}; };
return { return {
type: 4, type: 4,

View file

@ -3,8 +3,9 @@ import { db } from "@/main";
export async function deleteVote(data: any): Promise<object> { export async function deleteVote(data: any): Promise<object> {
let userID = data.member.user.id; let userID = data.member.user.id;
let gID = data.guild_id;
if (!db.bracket.users[userID]) { if (!db[gID].bracket.users[userID]) {
return { return {
type: 4, type: 4,
data: { data: {
@ -15,10 +16,10 @@ export async function deleteVote(data: any): Promise<object> {
}; };
// Subtract user's vote from total // Subtract user's vote from total
let vote = db.bracket.users[userID]; let vote = db[gID].bracket.users[userID];
--db.bracket.votes[vote]; --db[gID].bracket.votes[vote];
delete db.bracket.users[userID]; delete db[gID].bracket.users[userID];
return { return {
type: 4, type: 4,

View file

@ -1,18 +1,19 @@
import { db } from "@/main"; import { db } from "@/main";
export async function showUserVote(data: any): Promise<object> { export async function showUserVote(data: any): Promise<object> {
let vote = db.bracket.users[data.member.user.id]; let gID = data.guild_id;
let quote = db.bracket.quotes[vote]; 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) { if (quote) {
response = `Your vote is for:\n> ${quote}`; content = `Your vote is for:\n> ${quote}`;
}; };
return { return {
type: 4, type: 4,
data: { data: {
content: response, content,
flags: 1 << 6, flags: 1 << 6,
} }
}; };

View file

@ -2,10 +2,11 @@ import { db } from "@/main";
export async function viewDB(data: any): Promise<object> { export async function viewDB(data: any): Promise<object> {
let gID = data.guild_id;
return { return {
type: 4, type: 4,
data: { data: {
content: `\`\`\`json\n${JSON.stringify(db.bracket, null, ' ')}\`\`\``, content: `\`\`\`json\n${JSON.stringify(db[gID].bracket, null, ' ')}\`\`\``,
flags: 1 << 6, flags: 1 << 6,
} }
}; };

View file

@ -3,7 +3,8 @@ import { db } from "@/main";
export async function selectQuote(data: any): Promise<object> { export async function selectQuote(data: any): Promise<object> {
let vote = parseInt(data.data.values[0]); let vote = parseInt(data.data.values[0]);
let userID = data.member.user.id; 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 // Assert votes are different
@ -19,22 +20,22 @@ export async function selectQuote(data: any): Promise<object> {
// Set quote to 0 if it hasn't been voted for yet // Set quote to 0 if it hasn't been voted for yet
if (!db.bracket.votes[vote]) { if (!db[gID].bracket.votes[vote]) {
db.bracket.votes[vote] = 0; db[gID].bracket.votes[vote] = 0;
}; };
++db.bracket.votes[vote]; ++db[gID].bracket.votes[vote];
db.bracket.users[userID] = vote; db[gID].bracket.users[userID] = vote;
// User changed their vote // User changed their vote
if (oldVote != null) { if (oldVote != null) {
--db.bracket.votes[oldVote]; --db[gID].bracket.votes[oldVote];
return { return {
type: 4, type: 4,
data: { 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, flags: 1 << 6,
} }
}; };
@ -45,7 +46,7 @@ export async function selectQuote(data: any): Promise<object> {
return { return {
type: 4, type: 4,
data: { 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, flags: 1 << 6,
} }
}; };