From b3121c0f0497fa4990c88873ee62c5a2d31ce35c Mon Sep 17 00:00:00 2001 From: Wolfdragon24 Date: Fri, 28 Jun 2024 17:44:43 +1000 Subject: [PATCH 1/3] Declare file type for requiring data --- events/lunch_buddy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/events/lunch_buddy.js b/events/lunch_buddy.js index 84b3227e..9859c917 100644 --- a/events/lunch_buddy.js +++ b/events/lunch_buddy.js @@ -1,6 +1,6 @@ const { EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require("discord.js"); const cron = require("node-cron"); -const lunchBuddyLocations = require("../data/lunch_buddy_locations"); +const lunchBuddyLocations = require("../data/lunch_buddy_locations.js"); const config = require("../config/lunch_buddy.json"); const maxRowButtons = 4; From bf3b83cdecf9aed4d70e84b66ba5ec28319a8043 Mon Sep 17 00:00:00 2001 From: Wolfdragon24 Date: Fri, 28 Jun 2024 17:54:25 +1000 Subject: [PATCH 2/3] Use json as opposed to js data file --- data/lunch_buddy_locations.js | 121 -------------------------------- data/lunch_buddy_locations.json | 119 +++++++++++++++++++++++++++++++ events/lunch_buddy.js | 12 ++-- 3 files changed, 125 insertions(+), 127 deletions(-) delete mode 100644 data/lunch_buddy_locations.js create mode 100644 data/lunch_buddy_locations.json diff --git a/data/lunch_buddy_locations.js b/data/lunch_buddy_locations.js deleted file mode 100644 index f7cbd7e8..00000000 --- a/data/lunch_buddy_locations.js +++ /dev/null @@ -1,121 +0,0 @@ -const locations = [ - { - value: "Upper Campus Food Court", - sub: [ - { - name: "Tropical Green Pho", - }, - { - name: "Pho House", - }, - { - name: "Classic Kebab", - }, - { - name: "Chinese Takeaway", - }, - { - name: "Tori Sushi", - }, - { - name: "Gradu-eat", - }, - { - name: "The Little Marionette Cafe", - }, - { - name: "Lhaksa Delight", - }, - { - name: "Bioscience building Cafe (XS Espresso)", - }, - ], - }, - { - value: "Subway Zone", - sub: [ - { - name: "Subway", - }, - { - name: "Boost", - }, - { - name: "Southern Wok", - }, - { - name: "Cafe Brioso", - }, - { - name: "Penny Lane", - }, - ], - }, - { - value: "Quadrangle Food Court", - sub: [ - { - name: "Soul Origin", - }, - { - name: "PappaRich", - }, - { - name: "Nene Chicken", - }, - { - name: "Plume Cafe", - }, - ], - }, - { - value: "Lower Campus", - sub: [ - { - name: "Stellinis Pasta Bar", - }, - { - name: "Guzman Y Gomez", - }, - { - name: "Mamak Village", - }, - { - name: "Yallah Eats Kebab and Shawarma", - }, - { - name: "Sharetea", - }, - { - name: "Maze Coffee & Food", - }, - { - name: "Campus Village Cafe", - }, - { - name: "Home Ground Kiosk", - }, - ], - }, - { - value: "J17 Ainsworth", - sub: [ - { - name: "Coffee on Campus Cafe", - }, - ], - }, - { - value: "Other Options", - sub: [ - { - name: "Sport", - }, - { - name: "On Campus Study", - }, - ], - }, -]; - -exports.locations = locations; diff --git a/data/lunch_buddy_locations.json b/data/lunch_buddy_locations.json new file mode 100644 index 00000000..3fb60efd --- /dev/null +++ b/data/lunch_buddy_locations.json @@ -0,0 +1,119 @@ +[ + { + "value": "Upper Campus Food Court", + "sub": [ + { + "name": "Tropical Green Pho" + }, + { + "name": "Pho House" + }, + { + "name": "Classic Kebab" + }, + { + "name": "Chinese Takeaway" + }, + { + "name": "Tori Sushi" + }, + { + "name": "Gradu-eat" + }, + { + "name": "The Little Marionette Cafe" + }, + { + "name": "Lhaksa Delight" + }, + { + "name": "Bioscience building Cafe (XS Espresso)" + } + ] + }, + { + "value": "Subway Zone", + "sub": [ + { + "name": "Subway" + }, + { + "name": "Boost" + }, + { + "name": "Southern Wok" + }, + { + "name": "Cafe Brioso" + }, + { + "name": "Penny Lane" + } + ] + }, + { + "value": "Quadrangle Food Court", + "sub": [ + { + "name": "Soul Origin" + }, + { + "name": "PappaRich" + }, + { + "name": "Nene Chicken" + }, + { + "name": "Plume Cafe" + } + ] + }, + { + "value": "Lower Campus", + "sub": [ + { + "name": "Stellinis Pasta Bar" + }, + { + "name": "Guzman Y Gomez" + }, + { + "name": "Mamak Village" + }, + { + "name": "Yallah Eats Kebab and Shawarma" + }, + { + "name": "Sharetea" + }, + { + "name": "Maze Coffee & Food" + }, + { + "name": "Campus Village Cafe" + }, + { + "name": "Home Ground Kiosk" + } + ] + }, + { + "value": "J17 Ainsworth", + "sub": [ + { + "name": "Coffee on Campus Cafe" + } + ] + }, + { + "value": "Other Options", + "sub": [ + { + "name": "Sport" + }, + { + "name": "On Campus Study" + } + ] + } +] diff --git a/events/lunch_buddy.js b/events/lunch_buddy.js index 9859c917..7a9fcdae 100644 --- a/events/lunch_buddy.js +++ b/events/lunch_buddy.js @@ -1,6 +1,6 @@ const { EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require("discord.js"); const cron = require("node-cron"); -const lunchBuddyLocations = require("../data/lunch_buddy_locations.js"); +const lunchBuddyLocations = require("../data/lunch_buddy_locations.json"); const config = require("../config/lunch_buddy.json"); const maxRowButtons = 4; @@ -18,7 +18,7 @@ const generalLocationInfo = "This lunch buddy vote commenced at 10am, you must vote for the location by 12pm, when one will be chosen."; const getLocations = (area) => { - for (const object of lunchBuddyLocations.locations) { + for (const object of lunchBuddyLocations) { if (object.value === area) { return object; } @@ -27,7 +27,7 @@ const getLocations = (area) => { }; const generateAreasEmbed = (areaVotes) => { - const areas = lunchBuddyLocations.locations.map( + const areas = lunchBuddyLocations.map( (element) => `${element.value}: ${areaVotes ? areaVotes[element.value].length : 0}`, ); areas.push(`Any: ${areaVotes ? areaVotes["Any"].length : 0}`); @@ -69,9 +69,9 @@ const generateLocationsEmbed = (area, votes) => { ); }; -const areasList = lunchBuddyLocations.locations.map((element) => element.value); +const areasList = lunchBuddyLocations.map((element) => element.value); areasList.push("Any"); -const areasButtons = lunchBuddyLocations.locations.map( +const areasButtons = lunchBuddyLocations.map( (element) => new ButtonBuilder({ style: "PRIMARY", @@ -93,7 +93,7 @@ areasButtons.push( customId: `Remove${areaButtonCustomId}`, }), ); -const areasButtonsIds = lunchBuddyLocations.locations.map( +const areasButtonsIds = lunchBuddyLocations.map( (element) => `${element.value}${areaButtonCustomId}`, ); areasButtonsIds.push(`Any${areaButtonCustomId}`); From 196b12d3cef219b01f822aef4d31944b067deaba Mon Sep 17 00:00:00 2001 From: Wolfdragon24 Date: Fri, 28 Jun 2024 19:37:37 +1000 Subject: [PATCH 3/3] Replace require to use reading file with fs --- events/lunch_buddy.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/events/lunch_buddy.js b/events/lunch_buddy.js index 7a9fcdae..4a8499be 100644 --- a/events/lunch_buddy.js +++ b/events/lunch_buddy.js @@ -1,7 +1,9 @@ const { EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require("discord.js"); const cron = require("node-cron"); -const lunchBuddyLocations = require("../data/lunch_buddy_locations.json"); -const config = require("../config/lunch_buddy.json"); +const fs = require("fs"); + +const lunchBuddyLocations = JSON.parse(fs.readFileSync("./data/lunch_buddy_locations.json")); +const config = JSON.parse(fs.readFileSync("./config/lunch_buddy.json")); const maxRowButtons = 4; const areaButtonCustomId = "AreaButton";