Still got errors and warnings, mostly the same and easy to fix
diff --git a/src/actions/tickets/create.ts b/src/actions/tickets/create.ts
index 28eb435..6c8d42c 100644
--- a/src/actions/tickets/create.ts
+++ b/src/actions/tickets/create.ts
@@ -5,14 +5,14 @@
import getEmojiByName from "../../utils/getEmojiByName.js";
function capitalize(s: string) {
- s = s.replace(/([A-Z])/g, ' $1');
+ s = s.replace(/([A-Z])/g, " $1");
return s.length < 3 ? s.toUpperCase() : s[0].toUpperCase() + s.slice(1).toLowerCase();
}
export default async function (interaction) {
- const { log, NucleusColors, entry, renderUser, renderChannel, renderDelta } = client.logger
+ const { log, NucleusColors, entry, renderUser, renderChannel, renderDelta } = client.logger;
- let config = await client.database.guilds.read(interaction.guild.id);
+ const config = await client.database.guilds.read(interaction.guild.id);
if (!config.tickets.enabled || !config.tickets.category) {
return await interaction.reply({embeds: [new EmojiEmbed()
.setTitle("Tickets are disabled")
@@ -22,7 +22,7 @@
.setEmoji("CONTROL.BLOCKCROSS")
], ephemeral: true});
}
- let category = interaction.guild.channels.cache.get(config.tickets.category) as Discord.CategoryChannel;
+ const category = interaction.guild.channels.cache.get(config.tickets.category) as Discord.CategoryChannel;
let count = 0;
category.children.forEach(element => {
if (!(element.type === "GUILD_TEXT")) return;
@@ -41,8 +41,8 @@
], ephemeral: true});
}
let ticketTypes;
- let custom = false
- if (config.tickets.customTypes && config.tickets.useCustom) { ticketTypes = config.tickets.customTypes; custom = true }
+ let custom = false;
+ if (config.tickets.customTypes && config.tickets.useCustom) { ticketTypes = config.tickets.customTypes; custom = true; }
else if (config.tickets.types) ticketTypes = toHexArray(config.tickets.types, tickets);
else ticketTypes = [];
let chosenType;
@@ -54,7 +54,7 @@
return new MessageButton()
.setLabel(type)
.setStyle("PRIMARY")
- .setCustomId(type)
+ .setCustomId(type);
} else {
return new MessageButton()
.setLabel(capitalize(type))
@@ -66,7 +66,7 @@
for (let i = 0; i < formattedTicketTypes.length; i += 5) {
splitFormattedTicketTypes.push(new MessageActionRow().addComponents(formattedTicketTypes.slice(i, i + 5)));
}
- let m = await interaction.reply({embeds: [new EmojiEmbed()
+ const m = await interaction.reply({embeds: [new EmojiEmbed()
.setTitle("Create Ticket")
.setDescription("Select a ticket type")
.setStatus("Success")
@@ -87,14 +87,14 @@
.setLabel(type)
.setStyle(chosenType === type ? "SUCCESS" : "SECONDARY")
.setCustomId(type)
- .setDisabled(true)
- } else {
- return new MessageButton()
+ .setDisabled(true);
+ } else {
+ return new MessageButton()
.setLabel(capitalize(type))
.setStyle(chosenType === type ? "SUCCESS" : "SECONDARY")
.setCustomId(type)
.setEmoji(getEmojiByName(("TICKETS." + type.toString().toUpperCase()), "id"))
- .setDisabled(true)
+ .setDisabled(true);
}
});
for (let i = 0; i < formattedTicketTypes.length; i += 5) {
@@ -107,13 +107,13 @@
.setEmoji("GUILD.TICKET.OPEN")
], components: splitFormattedTicketTypes});
} else {
- chosenType = null
+ chosenType = null;
await interaction.reply({embeds: [new EmojiEmbed()
.setTitle("Create Ticket")
.setEmoji("GUILD.TICKET.OPEN")
- ], ephemeral: true, components: splitFormattedTicketTypes})
+ ], ephemeral: true, components: splitFormattedTicketTypes});
}
- let overwrites = [{
+ const overwrites = [{
id: interaction.member,
allow: ["VIEW_CHANNEL", "SEND_MESSAGES", "ATTACH_FILES", "ADD_REACTIONS", "READ_MESSAGE_HISTORY"],
type: "member"
@@ -122,13 +122,13 @@
id: interaction.guild.roles.everyone,
deny: ["VIEW_CHANNEL"],
type: "role"
- })
+ });
if (config.tickets.supportRole !== null) {
overwrites.push({
id: interaction.guild.roles.cache.get(config.tickets.supportRole),
allow: ["VIEW_CHANNEL", "SEND_MESSAGES", "ATTACH_FILES", "ADD_REACTIONS", "READ_MESSAGE_HISTORY"],
type: "role"
- })
+ });
}
let c;
@@ -140,7 +140,7 @@
nsfw: false,
permissionOverwrites: (overwrites as Discord.OverwriteResolvable[]),
reason: "Creating ticket"
- })
+ });
} catch (e) {
return await interaction.editReply({embeds: [new EmojiEmbed()
.setTitle("Create Ticket")
@@ -158,17 +158,17 @@
roles: (config.tickets.supportRole !== null ? [config.tickets.supportRole] : [])
}
}
- )
+ );
let content = interaction.options ? interaction.options.getString("message") || "" : "";
if (content) content = `**Message:**\n> ${content}\n`;
- let emoji = custom ? "" : getEmojiByName("TICKETS." + chosenType.toUpperCase());
+ const emoji = custom ? "" : getEmojiByName("TICKETS." + chosenType.toUpperCase());
await c.send({ embeds: [new EmojiEmbed()
.setTitle("New Ticket")
.setDescription(
`Ticket created by <@${interaction.member.user.id}>\n` +
`**Support type:** ${chosenType !== null ? (emoji) + " " + capitalize(chosenType) : "General"}\n` +
`**Ticket ID:** \`${c.id}\`\n${content}\n` +
- `Type \`/ticket close\` to close this ticket.`,
+ "Type `/ticket close` to close this ticket."
)
.setStatus("Success")
.setEmoji("GUILD.TICKET.OPEN")
@@ -177,27 +177,27 @@
.setStyle("DANGER")
.setCustomId("closeticket")
.setEmoji(getEmojiByName("CONTROL.CROSS", "id"))
- ])]})
- let data = {
+ ])]});
+ const data = {
meta:{
- type: 'ticketCreate',
- displayName: 'Ticket Created',
+ type: "ticketCreate",
+ displayName: "Ticket Created",
calculateType: "ticketUpdate",
color: NucleusColors.green,
- emoji: 'GUILD.TICKET.OPEN',
+ emoji: "GUILD.TICKET.OPEN",
timestamp: new Date().getTime()
},
list: {
ticketFor: entry(interaction.member.user.id, renderUser(interaction.member.user)),
created: entry(new Date().getTime(), renderDelta(new Date().getTime())),
- ticketChannel: entry(c.id, renderChannel(c)),
+ ticketChannel: entry(c.id, renderChannel(c))
},
hidden: {
guild: interaction.guild.id
}
- }
+ };
log(data);
- } catch (e) { console.log(e)}
+ } catch (e) { console.log(e);}
await interaction.editReply({embeds: [new EmojiEmbed()
.setTitle("Create Ticket")
.setDescription(`Ticket created. You can view it here: <#${c.id}>`)
diff --git a/src/actions/tickets/delete.ts b/src/actions/tickets/delete.ts
index d86396a..3419763 100644
--- a/src/actions/tickets/delete.ts
+++ b/src/actions/tickets/delete.ts
@@ -4,12 +4,12 @@
import getEmojiByName from "../../utils/getEmojiByName.js";
export default async function (interaction) {
- const { log, NucleusColors, entry, renderUser, renderChannel, renderDelta } = client.logger
+ const { log, NucleusColors, entry, renderUser, renderChannel, renderDelta } = client.logger;
- let config = await client.database.guilds.read(interaction.guild.id);
- let thread = false; let threadChannel
- if (interaction.channel instanceof Discord.ThreadChannel) thread = true; threadChannel = interaction.channel as Discord.ThreadChannel
- let channel = (interaction.channel as Discord.TextChannel)
+ const config = await client.database.guilds.read(interaction.guild.id);
+ let thread = false; let threadChannel;
+ if (interaction.channel instanceof Discord.ThreadChannel) thread = true; threadChannel = interaction.channel as Discord.ThreadChannel;
+ const channel = (interaction.channel as Discord.TextChannel);
if (!channel.parent || config.tickets.category !== channel.parent.id || (thread ? (threadChannel.parent.parent.id !== config.tickets.category) : false)) {
return interaction.reply({embeds: [new EmojiEmbed()
.setTitle("Deleting Ticket...")
@@ -18,7 +18,7 @@
.setEmoji("CONTROL.BLOCKCROSS")
], ephemeral: true});
}
- let status = channel.topic.split(" ")[1];
+ const status = channel.topic.split(" ")[1];
if (status === "Archived") {
await interaction.reply({embeds: [new EmojiEmbed()
.setTitle("Delete Ticket")
@@ -26,13 +26,13 @@
.setStatus("Danger")
.setEmoji("GUILD.TICKET.CLOSE")
]});
- let data = {
+ const data = {
meta:{
- type: 'ticketDeleted',
- displayName: 'Ticket Deleted',
+ type: "ticketDeleted",
+ displayName: "Ticket Deleted",
calculateType: "ticketUpdate",
color: NucleusColors.red,
- emoji: 'GUILD.TICKET.CLOSE',
+ emoji: "GUILD.TICKET.CLOSE",
timestamp: new Date().getTime()
},
list: {
@@ -43,7 +43,7 @@
hidden: {
guild: interaction.guild.id
}
- }
+ };
log(data);
interaction.channel.delete();
return;
@@ -54,7 +54,7 @@
.setStatus("Warning")
.setEmoji("GUILD.TICKET.ARCHIVED")
]});
- let overwrites = [
+ const overwrites = [
{
id: channel.topic.split(" ")[0],
deny: ["VIEW_CHANNEL"],
@@ -71,29 +71,29 @@
id: interaction.guild.roles.cache.get(config.tickets.supportRole),
allow: ["VIEW_CHANNEL", "SEND_MESSAGES", "ATTACH_FILES", "ADD_REACTIONS", "READ_MESSAGE_HISTORY"],
type: "role"
- })
+ });
}
- channel.edit({permissionOverwrites: overwrites})
+ channel.edit({permissionOverwrites: overwrites});
channel.setTopic(`${channel.topic.split(" ")[0]} Archived`);
- let data = {
+ const data = {
meta:{
- type: 'ticketClosed',
- displayName: 'Ticket Closed',
+ type: "ticketClosed",
+ displayName: "Ticket Closed",
calculateType: "ticketUpdate",
color: NucleusColors.yellow,
- emoji: 'GUILD.TICKET.ARCHIVED',
+ emoji: "GUILD.TICKET.ARCHIVED",
timestamp: new Date().getTime()
},
list: {
ticketFor: entry(channel.topic.split(" ")[0], renderUser((await interaction.guild.members.fetch(channel.topic.split(" ")[0])).user)),
closedBy: entry(interaction.member.user.id, renderUser(interaction.member.user)),
closed: entry(new Date().getTime(), renderDelta(new Date().getTime())),
- ticketChannel: entry(channel.id, renderChannel(channel)),
+ ticketChannel: entry(channel.id, renderChannel(channel))
},
hidden: {
guild: interaction.guild.id
}
- }
+ };
log(data);
await interaction.editReply({embeds: [new EmojiEmbed()
.setTitle("Close Ticket")
@@ -107,8 +107,8 @@
.setStyle("DANGER")
.setCustomId("closeticket")
.setEmoji(getEmojiByName("CONTROL.CROSS", "id"))
- ].concat(client.database.premium.hasPremium(interaction.guild.id) ? [
- new MessageButton()
+ ].concat(client.database.premium.hasPremium(interaction.guild.id) ? [
+ new MessageButton()
.setLabel("Create Transcript and Delete")
.setStyle("PRIMARY")
.setCustomId("createtranscript")
@@ -120,42 +120,44 @@
}
async function purgeByUser(member, guild) {
- let config = await client.database.guilds.read(guild.id);
+ const config = await client.database.guilds.read(guild.id);
if (!config.tickets.category) return;
- let tickets = guild.channels.cache.get(config.tickets.category);
+ const tickets = guild.channels.cache.get(config.tickets.category);
if (!tickets) return;
- let ticketChannels = tickets.children;
- let deleted = 0
+ const ticketChannels = tickets.children;
+ let deleted = 0;
ticketChannels.forEach(element => {
if (element.type !== "GUILD_TEXT") return;
if (element.topic.split(" ")[0] === member) {
- try { element.delete(); } catch {}
- deleted++
+ try {
+ element.delete();
+ } catch { /* Errors if the channel does not exist (deleted already) */ }
+ deleted++;
}
});
if (deleted) {
- const { log, NucleusColors, entry, renderUser, renderDelta } = member.client.logger
- let data = {
+ const { log, NucleusColors, entry, renderUser, renderDelta } = member.client.logger;
+ const data = {
meta:{
- type: 'ticketPurge',
- displayName: 'Tickets Purged',
+ type: "ticketPurge",
+ displayName: "Tickets Purged",
calculateType: "ticketUpdate",
color: NucleusColors.red,
- emoji: 'GUILD.TICKET.DELETE',
+ emoji: "GUILD.TICKET.DELETE",
timestamp: new Date().getTime()
},
list: {
ticketFor: entry(member, renderUser(member)),
deletedBy: entry(null, "Member left server"),
deleted: entry(new Date().getTime(), renderDelta(new Date().getTime())),
- ticketsDeleted: deleted,
+ ticketsDeleted: deleted
},
hidden: {
guild: guild.id
}
- }
+ };
log(data);
}
}
-export { purgeByUser }
\ No newline at end of file
+export { purgeByUser };
\ No newline at end of file