Update interaction handlers to work with the new DB structure
This commit is contained in:
parent
ea782af9d9
commit
f168eea621
5 changed files with 25 additions and 20 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue