diff --git a/CustomModules/NodBot.js b/CustomModules/NodBot.js index b2ae9da..6a5ab68 100644 --- a/CustomModules/NodBot.js +++ b/CustomModules/NodBot.js @@ -53,12 +53,12 @@ module.exports = { StrainData: class { constructor() { this.id = 0; - this.name = ""; - this.type = ""; - this.effects = ""; - this.flavor = ""; + this.name = "Unknown"; + this.type = "Unknown"; + this.effects = "Unknown"; + this.flavor = "Unknown"; this.rating = "0.0"; - this.description = ""; + this.description = "Unknown"; } // Initial Strain configuration diff --git a/functions.js b/functions.js index a44123b..3960dda 100644 --- a/functions.js +++ b/functions.js @@ -372,7 +372,7 @@ const functions = { }, ]); - interaction.reply({ embeds: [ strainEmbed ]}); + return { embeds: [ strainEmbed ]}; }, dalle(prompt, imageUrl, size) { const dalleEmbed = new Discord.MessageEmbed() @@ -478,7 +478,7 @@ const functions = { }); }, strain(interaction, strainData) { - const strainQuery = `INSERT INTO strains (strain, type, effects, description, flavor, rating) VALUES (${db.escape(strainData.name)}, ${db.escape(strainData.type)}, ${db.escape(strainData.effects)}, ${db.escape(strainData.description)}, ${db.escape(strainData.flavor)}, ${db.escape(strainData.rating)}) ON DUPLICATE KEY UPDATE strain=${db.escape(strainData.strain)}, type=${db.escape(strainData.type)}, effects=${db.escape(strainData.effects)}, description=${db.escape(strainData.description)}, flavor=${db.escape(strainData.flavor)}, rating=${db.escape(strainData.rating)}`; + const strainQuery = `INSERT INTO strains (strain, type, effects, description, flavor, rating) VALUES (${db.escape(strainData.name)}, ${db.escape(strainData.type)}, ${db.escape(strainData.effects)}, ${db.escape(strainData.description)}, ${db.escape(strainData.flavor)}, ${db.escape(strainData.rating)}) ON DUPLICATE KEY UPDATE type=${db.escape(strainData.type)}, effects=${db.escape(strainData.effects)}, description=${db.escape(strainData.description)}, flavor=${db.escape(strainData.flavor)}, rating=${db.escape(strainData.rating)}`; console.log(strainQuery); return new Promise((resolve, reject) => { db.query(strainQuery, (err, rows, fields) => { @@ -525,21 +525,25 @@ const functions = { }); }, async strain(strainName, interaction) { - const query = `SELECT id, strain, type, effects, description, flavor, rating FROM strains WHERE strain = ${db.escape(strainName)}`; - await db.query(query, (err, rows, fields) => { - if (rows != undefined) { - const strainInfo = { - id: `${rows[0].id}`, - strain: `${rows[0].strain}`, - type: `${rows[0].type}`, - effects: `${rows[0].effects}`, - description: `${rows[0].description}`, - flavor: `${rows[0].flavor}`, - rating: `${rows[0].rating}`, - }; - functions.embeds.strain(strainInfo, interaction); - } + return new Promise(async (resolve, reject) => { + const query = `SELECT id, strain, type, effects, description, flavor, rating FROM strains WHERE strain = ${db.escape(strainName)}`; + await db.query(query, (err, rows, fields) => { + if (rows != undefined) { + const strainInfo = { + id: `${rows[0].id}`, + strain: `${rows[0].strain}`, + type: `${rows[0].type}`, + effects: `${rows[0].effects}`, + description: `${rows[0].description}`, + flavor: `${rows[0].flavor}`, + rating: `${rows[0].rating}`, + }; + const embed = functions.embeds.strain(strainInfo, interaction); + resolve(embed); + } + }); }); + }, async strains(client) { const query = 'SELECT * FROM strains'; diff --git a/slash-commands/edit.js b/slash-commands/edit.js index dc1669a..afe1548 100644 --- a/slash-commands/edit.js +++ b/slash-commands/edit.js @@ -165,6 +165,8 @@ module.exports = { description: interaction.options.getString('description') }; const strainData = new StrainData().setInfo(interaction.options.getString('name'), details); - await fn.upload.strain(interaction); + await fn.upload.strain(interaction, strainData); + const reply = await fn.download.strain(strainData.name, interaction); + await interaction.editReply(reply); } }; \ No newline at end of file diff --git a/slash-commands/strain.js b/slash-commands/strain.js index 74cf8d3..7f5c105 100644 --- a/slash-commands/strain.js +++ b/slash-commands/strain.js @@ -12,6 +12,8 @@ module.exports = { .setRequired(true) .setAutocomplete(true)), async execute(interaction) { - fn.download.strain(interaction.options.getString('name'), interaction); + await interaction.deferReply(); + const reply = await fn.download.strain(interaction.options.getString('name'), interaction); + await interaction.editReply(reply); }, }; \ No newline at end of file