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> {
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,

View file

@ -3,8 +3,9 @@ import { db } from "@/main";
export async function deleteVote(data: any): Promise<object> {
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<object> {
};
// 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,

View file

@ -1,18 +1,19 @@
import { db } from "@/main";
export async function showUserVote(data: any): Promise<object> {
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,
}
};

View file

@ -2,10 +2,11 @@ import { db } from "@/main";
export async function viewDB(data: any): Promise<object> {
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,
}
};

View file

@ -3,7 +3,8 @@ import { db } from "@/main";
export async function selectQuote(data: any): Promise<object> {
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<object> {
// 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<object> {
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,
}
};