Fix the last of the eslint errors (for real this time)
diff --git a/src/commands/settings/commands.ts b/src/commands/settings/commands.ts
index fe6a181..294c0fd 100644
--- a/src/commands/settings/commands.ts
+++ b/src/commands/settings/commands.ts
@@ -50,7 +50,8 @@
});
}
}
- while (true) {
+ let timedOut = false;
+ while (!timedOut) {
const config = await client.database.guilds.read(interaction.guild.id);
const moderation = config.getKey("moderation");
m = await interaction.editReply({
@@ -119,7 +120,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- return;
+ timedOut = true;
+ continue;
}
let chosen = moderation[i.customId] ?? { text: null, url: null };
if (i.component.customId === "clearMuteRole") {
diff --git a/src/commands/settings/logs/attachment.ts b/src/commands/settings/logs/attachment.ts
index 52fdd5f..843b391 100644
--- a/src/commands/settings/logs/attachment.ts
+++ b/src/commands/settings/logs/attachment.ts
@@ -117,7 +117,9 @@
let clicks = 0;
const data = await client.database.guilds.read(interaction.guild.id);
let channel = data.logging.staff.channel;
- while (true) {
+
+ let timedOut = false;
+ while (!timedOut) {
await interaction.editReply({
embeds: [
new EmojiEmbed()
@@ -148,7 +150,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if (i.component.customId === "clear") {
@@ -158,8 +161,6 @@
await client.database.guilds.write(interaction.guild.id, null, ["logging.announcements.channel"]);
channel = undefined;
}
- } else {
- break;
}
}
await interaction.editReply({
diff --git a/src/commands/settings/logs/channel.ts b/src/commands/settings/logs/channel.ts
index c645581..206d282 100644
--- a/src/commands/settings/logs/channel.ts
+++ b/src/commands/settings/logs/channel.ts
@@ -114,7 +114,8 @@
let clicks = 0;
const data = await client.database.guilds.read(interaction.guild.id);
let channel = data.logging.logs.channel;
- while (true) {
+ let timedOut = false;
+ while (!timedOut) {
await interaction.editReply({
embeds: [
new EmojiEmbed()
@@ -142,7 +143,7 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
}
i.deferUpdate();
if (i.component.customId === "clear") {
@@ -152,8 +153,6 @@
await client.database.guilds.write(interaction.guild.id, null, ["logging.logs.channel"]);
channel = undefined;
}
- } else {
- break;
}
}
await interaction.editReply({
diff --git a/src/commands/settings/logs/events.ts b/src/commands/settings/logs/events.ts
index c3fbe41..d0db316 100644
--- a/src/commands/settings/logs/events.ts
+++ b/src/commands/settings/logs/events.ts
@@ -1,5 +1,5 @@
import { LoadingEmbed } from "./../../../utils/defaultEmbeds.js";
-import Discord, { CommandInteraction, MessageActionRow, MessageButton, MessageSelectMenu } from "discord.js";
+import Discord, { CommandInteraction, Message, MessageActionRow, MessageButton, MessageSelectMenu } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../../utils/generateEmojiEmbed.js";
@@ -38,11 +38,12 @@
fetchReply: true,
ephemeral: true
});
- let m;
- while (true) {
+ let m: Message;
+ let timedOut = false;
+ do {
const config = await client.database.guilds.read(interaction.guild.id);
const converted = toHexArray(config.logging.logs.toLog);
- m = await interaction.editReply({
+ m = (await interaction.editReply({
embeds: [
new EmojiEmbed()
.setTitle("Logging Events")
@@ -72,12 +73,13 @@
new MessageButton().setLabel("Select none").setStyle("DANGER").setCustomId("none")
])
]
- });
+ })) as Message;
let i;
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if (i.customId === "logs") {
@@ -95,22 +97,10 @@
await client.database.guilds.write(interaction.guild.id, {
"logging.logs.toLog": 0
});
- } else {
- break;
}
- }
- m = await interaction.editReply({
- embeds: [
- new EmojiEmbed()
- .setTitle("Logging Events")
- .setDescription(
- "Below are the events being logged in the server. You can toggle them on and off in the dropdown"
- )
- .setFooter({ text: "Message timed out" })
- .setStatus("Success")
- .setEmoji("CHANNEL.TEXT.CREATE")
- ]
- });
+ } while (!timedOut);
+
+ await interaction.editReply({ embeds: [m.embeds[0]!.setFooter({ text: "Message timed out" })] });
return;
};
diff --git a/src/commands/settings/logs/staff.ts b/src/commands/settings/logs/staff.ts
index 715fbea..c7077cf 100644
--- a/src/commands/settings/logs/staff.ts
+++ b/src/commands/settings/logs/staff.ts
@@ -119,7 +119,8 @@
let clicks = 0;
const data = await client.database.guilds.read(interaction.guild.id);
let channel = data.logging.staff.channel;
- while (true) {
+ let timedOut = false;
+ while (!timedOut) {
await interaction.editReply({
embeds: [
new EmojiEmbed()
@@ -147,7 +148,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if ((i.component as MessageButton).customId === "clear") {
@@ -157,8 +159,6 @@
await client.database.guilds.write(interaction.guild.id, null, ["logging.staff.channel"]);
channel = undefined;
}
- } else {
- break;
}
}
await interaction.editReply({
diff --git a/src/commands/settings/stats.ts b/src/commands/settings/stats.ts
index b4bca10..ab6022e 100644
--- a/src/commands/settings/stats.ts
+++ b/src/commands/settings/stats.ts
@@ -148,7 +148,8 @@
}
await statsChannelAddCallback(client, interaction.member);
}
- while (true) {
+ let timedOut = false;
+ while (!timedOut) {
config = await client.database.guilds.read(interaction.guild.id);
const stats = config.getKey("stats");
const selectMenu = new MessageSelectMenu()
@@ -198,7 +199,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if (i.customId === "remove") {
@@ -211,7 +213,7 @@
}
}
await interaction.editReply({
- embeds: [m.embeds[0]!.setFooter({ text: "Message closed" })],
+ embeds: [m.embeds[0]!.setFooter({ text: "Message timed out" })],
components: []
});
};
diff --git a/src/commands/settings/tickets.ts b/src/commands/settings/tickets.ts
index ca170be..26fa66e 100644
--- a/src/commands/settings/tickets.ts
+++ b/src/commands/settings/tickets.ts
@@ -67,13 +67,12 @@
fetchReply: true
})) as Message;
const options = {
- enabled: interaction.options.getString("enabled") as string | boolean | null,
+ enabled: interaction.options.getString("enabled")?.startsWith("yes") as boolean | null,
category: interaction.options.getChannel("category"),
maxtickets: interaction.options.getNumber("maxticketsperuser"),
supportping: interaction.options.getRole("supportrole")
};
if (options.enabled !== null || options.category || options.maxtickets || options.supportping) {
- options.enabled = options.enabled === "yes" ? true : false;
if (options.category) {
let channel: GuildChannel | null;
try {
@@ -211,7 +210,8 @@
types: data.tickets.types,
customTypes: data.tickets.customTypes
};
- while (true) {
+ let timedOut = false;
+ while (!timedOut) {
embed = new EmojiEmbed()
.setTitle("Tickets")
.setDescription(
@@ -276,7 +276,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if ((i.component as MessageActionRowComponent).customId === "clearCategory") {
@@ -312,7 +313,9 @@
description: "Click the button below to speak to us privately"
}
];
- while (true) {
+ let innerTimedOut = false;
+ let templateSelected = false;
+ while (!innerTimedOut && !templateSelected) {
const enabled = data.enabled && data.category !== null;
await interaction.editReply({
embeds: [
@@ -373,7 +376,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ innerTimedOut = true;
+ continue;
}
if ((i.component as MessageActionRowComponent).customId === "template") {
i.deferUpdate();
@@ -397,7 +401,8 @@
])
]
});
- break;
+ templateSelected = true;
+ continue;
} else if ((i.component as MessageActionRowComponent).customId === "blank") {
i.deferUpdate();
await interaction.channel!.send({
@@ -411,7 +416,8 @@
])
]
});
- break;
+ templateSelected = true;
+ continue;
} else if ((i.component as MessageActionRowComponent).customId === "custom") {
await i.showModal(
new Discord.Modal()
@@ -462,7 +468,8 @@
(m) => m.customId === "modify"
);
} catch (e) {
- break;
+ innerTimedOut = true;
+ continue;
}
if (out.fields) {
const title = out.fields.getTextInputValue("title");
@@ -485,9 +492,7 @@
])
]
});
- break;
- } else {
- continue;
+ templateSelected = true;
}
}
}
@@ -498,18 +503,18 @@
data.enabled = !data.enabled;
} else if ((i.component as MessageActionRowComponent).customId === "manageTypes") {
data = await manageTypes(interaction, data, m as Message);
- } else {
- break;
}
}
await interaction.editReply({
- embeds: [embed.setFooter({ text: "Message closed" })],
+ embeds: [embed.setFooter({ text: "Message timed out" })],
components: []
});
};
async function manageTypes(interaction: CommandInteraction, data: GuildConfig["tickets"], m: Message) {
- while (true) {
+ let timedOut = false;
+ let backPressed = false;
+ while (!timedOut && !backPressed) {
if (data.useCustom) {
const customTypes = data.customTypes;
await interaction.editReply({
@@ -622,7 +627,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
if (i.component.customId === "types") {
i.deferUpdate();
@@ -700,7 +706,7 @@
} catch {
continue;
}
- data.customTypes = data.customTypes || [];
+ data.customTypes = data.customTypes ?? [];
if (!data.customTypes.includes(toAdd)) {
data.customTypes.push(toAdd);
}
@@ -717,7 +723,7 @@
data.useCustom = true;
} else {
i.deferUpdate();
- break;
+ backPressed = true;
}
}
return data;
diff --git a/src/commands/settings/verify.ts b/src/commands/settings/verify.ts
index 0eb4553..aa8227f 100644
--- a/src/commands/settings/verify.ts
+++ b/src/commands/settings/verify.ts
@@ -124,7 +124,9 @@
let clicks = 0;
const data = await client.database.guilds.read(interaction.guild!.id);
let role = data.verify.role;
- while (true) {
+
+ let timedOut = false;
+ while (!timedOut) {
await interaction.editReply({
embeds: [
new EmojiEmbed()
@@ -155,7 +157,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if ((i.component as MessageActionRowComponent).customId === "clear") {
@@ -180,7 +183,9 @@
description: "Click the button below to verify yourself"
}
];
- while (true) {
+ let innerTimedOut = false;
+ let templateSelected = false;
+ while (!innerTimedOut && !templateSelected) {
await interaction.editReply({
embeds: [
new EmojiEmbed()
@@ -238,7 +243,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ innerTimedOut = true;
+ continue;
}
if ((i.component as MessageActionRowComponent).customId === "template") {
i.deferUpdate();
@@ -262,7 +268,8 @@
])
]
});
- break;
+ templateSelected = true;
+ continue;
} else if ((i.component as MessageActionRowComponent).customId === "blank") {
i.deferUpdate();
await interaction.channel!.send({
@@ -276,7 +283,8 @@
])
]
});
- break;
+ templateSelected = true;
+ continue;
} else if ((i.component as MessageActionRowComponent).customId === "custom") {
await i.showModal(
new Discord.Modal()
@@ -329,11 +337,10 @@
(m) => m.customId === "modify"
);
} catch (e) {
- break;
- }
- if (out === null) {
+ innerTimedOut = true;
continue;
- } else if (out instanceof ModalSubmitInteraction) {
+ }
+ if (out !== null && out instanceof ModalSubmitInteraction) {
const title = out.fields.getTextInputValue("title");
const description = out.fields.getTextInputValue("description");
await interaction.channel!.send({
@@ -354,9 +361,7 @@
])
]
});
- break;
- } else {
- continue;
+ templateSelected = true;
}
}
}
diff --git a/src/commands/settings/welcome.ts b/src/commands/settings/welcome.ts
index 188e4b9..24ccefc 100644
--- a/src/commands/settings/welcome.ts
+++ b/src/commands/settings/welcome.ts
@@ -172,7 +172,8 @@
}
}
let lastClicked = null;
- while (true) {
+ let timedOut = false;
+ do {
const config = await client.database.guilds.read(interaction.guild!.id);
m = (await interaction.editReply({
embeds: [
@@ -239,7 +240,8 @@
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
- break;
+ timedOut = true;
+ continue;
}
i.deferUpdate();
if (i.customId == "clear-message") {
@@ -284,9 +286,9 @@
});
lastClicked = null;
}
- }
+ } while (!timedOut);
await interaction.editReply({
- embeds: [m.embeds[0]!.setFooter({ text: "Message closed" })],
+ embeds: [m.embeds[0]!.setFooter({ text: "Message timed out" })],
components: []
});
};