From 9dcdf9f18848a0c1e61da24e8c5553664276b11e Mon Sep 17 00:00:00 2001
From: Supositware <sup@libtar.de>
Date: Sat, 10 Sep 2022 09:35:52 +0200
Subject: [PATCH] Fix interactionCreate listener and ignore storyboard formats

---
 commands/utility/download.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/commands/utility/download.js b/commands/utility/download.js
index 690df6f..b498468 100644
--- a/commands/utility/download.js
+++ b/commands/utility/download.js
@@ -63,6 +63,7 @@ export default {
 			const options = [];
 
 			qualitys.formats.forEach(f => {
+				if (f.format.includes('storyboard')) return;
 				options.push({
 					label: f.resolution ? f.resolution : 'Unknown format',
 					description: `${f.format} V: ${f.vcodec} A: ${f.acodec}`,
@@ -99,7 +100,8 @@ export default {
 			await interaction.deleteReply();
 			await interaction.followUp({ content: 'Which quality do you want?', ephemeral: true, components: [row] });
 
-			client.once('interactionCreate', async (interactionMenu) => {
+			client.on('interactionCreate', async (interactionMenu) => {
+				if (interaction.user !== interactionMenu.user) return;
 				if (!interactionMenu.isSelectMenu()) return;
 				if (interactionMenu.customId === 'downloadQuality') {
 					await interactionMenu.deferReply({ ephemeral: false });
@@ -153,7 +155,8 @@ async function download(url, interaction, originalInteraction) {
 
 				await interaction.deleteReply();
 				await interaction.followUp({ content: 'Which compression preset do you want?', ephemeral: true, components: [row] });
-				client.once('interactionCreate', async (interactionMenu) => {
+				client.on('interactionCreate', async (interactionMenu) => {
+					if (interaction.user !== interactionMenu.user) return;
 					if (!interactionMenu.isSelectMenu()) return;
 					if (interactionMenu.customId === 'preset') {
 						await interactionMenu.deferReply({ ephemeral: false });