Fix some more eslint errors (not yet complete)

pull/8/head
Skyler Grey 3 years ago
parent 1c83724004
commit 1a67e188e3
Signed by: Minion3665
GPG Key ID: 1AFD10256B3C714D

@ -2,14 +2,14 @@ import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
import getEmojiByName from "../../utils/getEmojiByName.js";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import confirmationMessage from "../../utils/confirmationMessage.js";
import Discord, { CommandInteraction, MessageActionRow, MessageButton, MessageSelectMenu, TextInputComponent } from "discord.js";
import Discord, { CommandInteraction, GuildChannel, Interaction, Message, MessageActionRow, MessageActionRowComponent, MessageButton, MessageComponentInteraction, MessageSelectMenu, Role, SelectMenuInteraction, TextInputComponent } from "discord.js";
import { SelectMenuOption, SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import { ChannelType } from "discord-api-types";
import client from "../../utils/client.js";
import { toHexInteger, toHexArray, tickets as ticketTypes } from "../../utils/calculate.js";
import { capitalize } from "../../utils/generateKeyValueList.js";
import { modalInteractionCollector } from "../../utils/dualCollector.js";
import {GuildConfig} from "../../utils/database.js";
const command = (builder: SlashCommandSubcommandBuilder) => builder
.setName("tickets")
@ -20,9 +20,8 @@ const command = (builder: SlashCommandSubcommandBuilder) => builder
.addNumberOption(option => option.setName("maxticketsperuser").setDescription("The maximum amount of tickets a user can create | Default: 5").setRequired(false).setMinValue(1))
.addRoleOption(option => option.setName("supportrole").setDescription("This role will have view access to all tickets and will be pinged when a ticket is created").setRequired(false));
const callback = async (interaction: CommandInteraction): Promise<any> => {
let m;
m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
let m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
const options = {
enabled: interaction.options.getString("enabled") as string | boolean,
category: interaction.options.getChannel("category"),
@ -33,9 +32,9 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
if (options.enabled !== null || options.category || options.maxtickets || options.supportping) {
options.enabled = options.enabled === "yes" ? true : false;
if (options.category) {
let channel;
let channel: GuildChannel;
try {
channel = interaction.guild.channels.cache.get(options.category.id);
channel = await interaction.guild.channels.fetch(options.category.id);
} catch {
return await interaction.editReply({
embeds: [new EmojiEmbed()
@ -66,10 +65,10 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
]
});
}
let role;
let role: Role;
if (options.supportping) {
try {
role = interaction.guild.roles.cache.get(options.supportping.id);
role = await interaction.guild.roles.fetch(options.supportping.id);
} catch {
return await interaction.editReply({
embeds: [new EmojiEmbed()
@ -136,9 +135,9 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
}
}
let data = await client.database.guilds.read(interaction.guild.id);
data.tickets.customTypes = (data.tickets.customTypes || []).filter((v, i, a) => a.indexOf(v) === i);
data.tickets.customTypes = (data.tickets.customTypes || []).filter((value: string, index: number, array: string[]) => array.indexOf(value) === index);
let lastClicked = "";
let embed;
let embed: EmojiEmbed;
data = {
enabled: data.tickets.enabled,
category: data.tickets.category,
@ -200,30 +199,30 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setCustomId("send")
])]
});
let i;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({ time: 300000 });
i = await (m as Message).awaitMessageComponent({ time: 300000 });
} catch (e) { break; }
i.deferUpdate();
if (i.component.customId === "clearCategory") {
if ((i.component as MessageActionRowComponent).customId === "clearCategory") {
if (lastClicked === "cat") {
lastClicked = "";
await client.database.guilds.write(interaction.guild.id, null, ["tickets.category"]);
data.category = undefined;
} else lastClicked = "cat";
} else if (i.component.customId === "clearMaxTickets") {
} else if ((i.component as MessageActionRowComponent).customId === "clearMaxTickets") {
if (lastClicked === "max") {
lastClicked = "";
await client.database.guilds.write(interaction.guild.id, null, ["tickets.maxTickets"]);
data.maxTickets = 5;
} else lastClicked = "max";
} else if (i.component.customId === "clearSupportPing") {
} else if ((i.component as MessageActionRowComponent).customId === "clearSupportPing") {
if (lastClicked === "sup") {
lastClicked = "";
await client.database.guilds.write(interaction.guild.id, null, ["tickets.supportRole"]);
data.supportRole = undefined;
} else lastClicked = "sup";
} else if (i.component.customId === "send") {
} else if ((i.component as MessageActionRowComponent).customId === "send") {
const ticketMessages = [
{label: "Create ticket", description: "Click the button below to create a ticket"},
{label: "Issues, questions or feedback?", description: "Click below to open a ticket and get help from our staff team"},
@ -260,15 +259,15 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setStyle("PRIMARY")
])
]});
let i;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({time: 300000});
i = await (m as Message).awaitMessageComponent({time: 300000});
} catch(e) { break; }
if (i.component.customId === "template") {
if ((i.component as MessageActionRowComponent).customId === "template") {
i.deferUpdate();
await interaction.channel.send({embeds: [new EmojiEmbed()
.setTitle(ticketMessages[parseInt(i.values[0])].label)
.setDescription(ticketMessages[parseInt(i.values[0])].description)
.setTitle(ticketMessages[parseInt((i as SelectMenuInteraction).values[0])].label)
.setDescription(ticketMessages[parseInt((i as SelectMenuInteraction).values[0])].description)
.setStatus("Success")
.setEmoji("GUILD.TICKET.OPEN")
], components: [new MessageActionRow().addComponents([new MessageButton()
@ -278,7 +277,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setCustomId("createticket")
])]});
break;
} else if (i.component.customId === "blank") {
} else if ((i.component as MessageActionRowComponent).customId === "blank") {
i.deferUpdate();
await interaction.channel.send({components: [new MessageActionRow().addComponents([new MessageButton()
.setLabel("Create Ticket")
@ -287,7 +286,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setCustomId("createticket")
])]});
break;
} else if (i.component.customId === "custom") {
} else if ((i.component as MessageActionRowComponent).customId === "custom") {
await i.showModal(new Discord.Modal().setCustomId("modal").setTitle("Enter embed details").addComponents(
new MessageActionRow<TextInputComponent>().addComponents(new TextInputComponent()
.setCustomId("title")
@ -339,11 +338,11 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
} else { continue; }
}
}
} else if (i.component.customId === "enabled") {
} else if ((i.component as MessageActionRowComponent).customId === "enabled") {
await client.database.guilds.write(interaction.guild.id, { "tickets.enabled": !data.enabled });
data.enabled = !data.enabled;
} else if (i.component.customId === "manageTypes") {
data = await manageTypes(interaction, data, m);
} else if ((i.component as MessageActionRowComponent).customId === "manageTypes") {
data = await manageTypes(interaction, data, m as Message);
} else {
break;
}
@ -351,7 +350,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
await interaction.editReply({ embeds: [embed.setFooter({ text: "Message closed" })], components: [] });
};
async function manageTypes(interaction, data, m) {
async function manageTypes(interaction: Interaction, data: GuildConfig["tickets"], m: Message) {
while (true) {
if (data.useCustom) {
const customTypes = data.customTypes;
@ -519,7 +518,7 @@ async function manageTypes(interaction, data, m) {
}
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = (interaction: CommandInteraction) => {
const member = (interaction.member as Discord.GuildMember);
if (!member.permissions.has("MANAGE_GUILD")) throw "You must have the *Manage Server* permission to use this command";
return true;
@ -527,4 +526,4 @@ const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
export { command };
export { callback };
export { check };
export { check };

@ -1,10 +1,9 @@
import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
import Discord, { CommandInteraction, Emoji, MessageActionRow, MessageButton, MessageSelectMenu, TextInputComponent } from "discord.js";
import Discord, { CommandInteraction, Message, MessageActionRow, MessageActionRowComponent, MessageButton, MessageComponentInteraction, MessageSelectMenu, Role, SelectMenuInteraction, TextInputComponent } from "discord.js";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import confirmationMessage from "../../utils/confirmationMessage.js";
import getEmojiByName from "../../utils/getEmojiByName.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import { Embed, SlashCommandSubcommandBuilder } from "@discordjs/builders";
import client from "../../utils/client.js";
import { modalInteractionCollector } from "../../utils/dualCollector.js";
@ -14,13 +13,12 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.setDescription("Manage the role given after typing /verify")
.addRoleOption(option => option.setName("role").setDescription("The role to give after verifying").setRequired(false));
const callback = async (interaction: CommandInteraction): Promise<any> => {
let m;
m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
const m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
if (interaction.options.getRole("role")) {
let role;
let role: Role;
try {
role = interaction.options.getRole("role");
role = interaction.options.getRole("role") as Role;
} catch {
return await interaction.editReply({embeds: [new EmojiEmbed()
.setEmoji("GUILD.ROLES.DELETE")
@ -109,19 +107,19 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setEmoji(getEmojiByName("TICKETS.SUGGESTION", "id"))
.setStyle("PRIMARY")
])]});
let i;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({time: 300000});
i = await (m as Message).awaitMessageComponent({time: 300000});
} catch(e) { break; }
i.deferUpdate();
if (i.component.customId === "clear") {
if ((i.component as MessageActionRowComponent).customId === "clear") {
clicks += 1;
if (clicks === 2) {
clicks = 0;
await client.database.guilds.write(interaction.guild.id, null, ["verify.role", "verify.enabled"]);
role = undefined;
}
} else if (i.component.customId === "send") {
} else if ((i.component as MessageActionRowComponent).customId === "send") {
const verifyMessages = [
{label: "Verify", description: "Click the button below to get verified"},
{label: "Get verified", description: "To get access to the rest of the server, click the button below"},
@ -157,15 +155,15 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setStyle("PRIMARY")
])
]});
let i;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({time: 300000});
i = await (m as Message).awaitMessageComponent({time: 300000});
} catch(e) { break; }
if (i.component.customId === "template") {
if ((i.component as MessageActionRowComponent).customId === "template") {
i.deferUpdate();
await interaction.channel.send({embeds: [new EmojiEmbed()
.setTitle(verifyMessages[parseInt(i.values[0])].label)
.setDescription(verifyMessages[parseInt(i.values[0])].description)
.setTitle(verifyMessages[parseInt((i as SelectMenuInteraction).values[0])].label)
.setDescription(verifyMessages[parseInt((i as SelectMenuInteraction).values[0])].description)
.setStatus("Success")
.setEmoji("CONTROL.BLOCKTICK")
], components: [new MessageActionRow().addComponents([new MessageButton()
@ -175,7 +173,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setCustomId("verifybutton")
])]});
break;
} else if (i.component.customId === "blank") {
} else if ((i.component as MessageActionRowComponent).customId === "blank") {
i.deferUpdate();
await interaction.channel.send({components: [new MessageActionRow().addComponents([new MessageButton()
.setLabel("Verify")
@ -184,7 +182,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setCustomId("verifybutton")
])]});
break;
} else if (i.component.customId === "custom") {
} else if ((i.component as MessageActionRowComponent).customId === "custom") {
await i.showModal(new Discord.Modal().setCustomId("modal").setTitle("Enter embed details").addComponents(
new MessageActionRow<TextInputComponent>().addComponents(new TextInputComponent()
.setCustomId("title")
@ -241,10 +239,10 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
break;
}
}
await interaction.editReply({embeds: [m.embeds[0].setFooter({text: "Message closed"})], components: []});
await interaction.editReply({embeds: [(m.embeds[0] as Embed).setFooter({text: "Message closed"})], components: []});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = (interaction: CommandInteraction) => {
const member = (interaction.member as Discord.GuildMember);
if (!member.permissions.has("MANAGE_GUILD")) throw "You must have the *Manage Server* permission to use this command";
return true;

@ -1,7 +1,6 @@
import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
import Discord, { CommandInteraction, MessageActionRow, MessageButton, MessageSelectMenu } from "discord.js";
import Discord, { Channel, CommandInteraction, Message, MessageActionRow, MessageButton, MessageComponentInteraction, Role } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import client from "../../utils/client.js";
import confirmationMessage from "../../utils/confirmationMessage.js";
@ -20,17 +19,17 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
ChannelType.GuildText, ChannelType.GuildNews
]));
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
const { renderRole, renderChannel, log, NucleusColors, entry, renderUser } = client.logger;
await interaction.reply({embeds: LoadingEmbed, fetchReply: true, ephemeral: true});
let m;
let m: Message;
if (interaction.options.getRole("role") || interaction.options.getChannel("channel") || interaction.options.getString("message")) {
let role;
let ping;
let role: Role;
let ping: Role;
const message = interaction.options.getString("message");
try {
role = interaction.options.getRole("role");
ping = interaction.options.getRole("ping");
role = interaction.options.getRole("role") as Role;
ping = interaction.options.getRole("ping") as Role;
} catch {
return await interaction.editReply({embeds: [new EmojiEmbed()
.setEmoji("GUILD.ROLES.DELETE")
@ -39,9 +38,9 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setStatus("Danger")
]});
}
let channel;
let channel: Channel;
try {
channel = interaction.options.getChannel("channel");
channel = interaction.options.getChannel("channel") as Channel;
} catch {
return await interaction.editReply({embeds: [new EmojiEmbed()
.setEmoji("GUILD.ROLES.DELETE")
@ -160,8 +159,8 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setDisabled(config.welcome.channel == "dm")
.setStyle("SECONDARY")
])
]});
let i;
]}) as Message;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({ time: 300000 });
} catch (e) {
@ -196,7 +195,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
await interaction.editReply({embeds: [m.embeds[0].setFooter({text: "Message closed"})], components: []});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = (interaction: CommandInteraction) => {
const member = (interaction.member as Discord.GuildMember);
if (!member.permissions.has("MANAGE_GUILD")) throw "You must have the *Manage Server* permission to use this command";
return true;
@ -204,4 +203,4 @@ const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
export { command };
export { callback };
export { check };
export { check };

@ -1,6 +1,5 @@
import { AutocompleteInteraction, CommandInteraction, MessageActionRow, MessageButton } from "discord.js";
import { SlashCommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import client from "../utils/client.js";
import EmojiEmbed from "../utils/generateEmojiEmbed.js";
@ -9,7 +8,7 @@ const command = new SlashCommandBuilder()
.setDescription("Get and manage the servers tags")
.addStringOption(o => o.setName("tag").setDescription("The tag to get").setAutocomplete(true).setRequired(true));
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void> => {
const config = await client.database.guilds.read(interaction.guild.id);
const tags = config.getKey("tags");
const tag = tags[interaction.options.getString("tag")];
@ -41,7 +40,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = () => {
return true;
};

@ -1,6 +1,5 @@
import Discord, { CommandInteraction } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import confirmationMessage from "../../utils/confirmationMessage.js";
import keyValueList from "../../utils/generateKeyValueList.js";
@ -13,7 +12,7 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.addStringOption(o => o.setName("name").setRequired(true).setDescription("The name of the tag"))
.addStringOption(o => o.setName("value").setRequired(true).setDescription("The value of the tag, shown after running /tag name"));
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
const name = interaction.options.getString("name");
const value = interaction.options.getString("value");
if (name.length > 100) return await interaction.reply({embeds: [new EmojiEmbed()
@ -77,7 +76,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
], components: []});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = (interaction: CommandInteraction) => {
const member = (interaction.member as Discord.GuildMember);
if (!member.permissions.has("MANAGE_MESSAGES")) throw "You must have the *Manage Messages* permission to use this command";
return true;
@ -85,4 +84,4 @@ const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
export { command };
export { callback };
export { check };
export { check };

@ -1,6 +1,5 @@
import Discord, { CommandInteraction } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import confirmationMessage from "../../utils/confirmationMessage.js";
import keyValueList from "../../utils/generateKeyValueList.js";
@ -12,7 +11,7 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.setDescription("Deletes a tag")
.addStringOption(o => o.setName("name").setRequired(true).setDescription("The name of the tag"));
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
const name = interaction.options.getString("name");
const data = await client.database.guilds.read(interaction.guild.id);
if (!data.tags[name]) return await interaction.reply({embeds: [new EmojiEmbed()
@ -58,7 +57,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
], components: []});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = (interaction: CommandInteraction) => {
const member = (interaction.member as Discord.GuildMember);
if (!member.permissions.has("MANAGE_MESSAGES")) throw "You must have the *Manage Messages* permission to use this command";
return true;
@ -66,4 +65,4 @@ const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
export { command };
export { callback };
export { check };
export { check };

@ -1,6 +1,5 @@
import Discord, { CommandInteraction } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import confirmationMessage from "../../utils/confirmationMessage.js";
import keyValueList from "../../utils/generateKeyValueList.js";
@ -14,7 +13,7 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.addStringOption(o => o.setName("value").setRequired(false).setDescription("The new value of the tag / Rename"))
.addStringOption(o => o.setName("newname").setRequired(false).setDescription("The new name of the tag / Edit"));
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
const name = interaction.options.getString("name");
const value = interaction.options.getString("value") || "";
const newname = interaction.options.getString("newname") || "";
@ -92,7 +91,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
], components: []});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = (interaction: CommandInteraction) => {
const member = (interaction.member as Discord.GuildMember);
if (!member.permissions.has("MANAGE_MESSAGES")) throw "You must have the *Manage Messages* permission to use this command";
return true;
@ -100,4 +99,4 @@ const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
export { command };
export { callback };
export { check };
export { check };

@ -1,7 +1,6 @@
import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
import Discord, { CommandInteraction, MessageActionRow, MessageButton } from "discord.js";
import Discord, { CommandInteraction, Message, MessageActionRow, MessageActionRowComponent, MessageButton, MessageComponentInteraction, SelectMenuInteraction } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import client from "../../utils/client.js";
import { SelectMenuOption } from "@discordjs/builders";
@ -25,7 +24,7 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.setName("list")
.setDescription("Lists all tags in the server");
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void> => {
const data = await client.database.guilds.read(interaction.guild.id);
const tags = data.getKey("tags");
let strings = [];
@ -53,8 +52,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setStatus("Success")
).setTitle(`Page ${pages.length + 1}`).setPageId(pages.length));
}
let m;
m = await interaction.reply({embeds: LoadingEmbed, fetchReply: true, ephemeral: true});
const m = await interaction.reply({embeds: LoadingEmbed, fetchReply: true, ephemeral: true});
let page = 0;
let selectPaneOpen = false;
while (true) {
@ -88,21 +86,21 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
new MessageButton().setCustomId("close").setEmoji(getEmojiByName("CONTROL.CROSS", "id")).setStyle("DANGER")
])])
});
let i;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({time: 300000 });
i = await (m as Message).awaitMessageComponent({time: 300000 });
} catch (e) { break; }
i.deferUpdate();
if (i.component.customId === "left") {
if ((i.component as MessageActionRowComponent).customId === "left") {
if (page > 0) page--;
selectPaneOpen = false;
} else if (i.component.customId === "right") {
} else if ((i.component as MessageActionRowComponent).customId === "right") {
if (page < pages.length - 1) page++;
selectPaneOpen = false;
} else if (i.component.customId === "select") {
} else if ((i.component as MessageActionRowComponent).customId === "select") {
selectPaneOpen = !selectPaneOpen;
} else if (i.component.customId === "page") {
page = parseInt(i.values[0]);
} else if ((i.component as MessageActionRowComponent).customId === "page") {
page = parseInt((i as SelectMenuInteraction).values[0]);
selectPaneOpen = false;
} else {
const em = new Discord.MessageEmbed(pages[page].embed);
@ -131,10 +129,10 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = () => {
return true;
};
export { command };
export { callback };
export { check };
export { check };

@ -1,6 +1,5 @@
import { CommandInteraction } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import close from "../../actions/tickets/delete.js";
const command = (builder: SlashCommandSubcommandBuilder) =>
@ -8,14 +7,14 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.setName("close")
.setDescription("Closes a ticket");
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void> => {
await close(interaction);
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = () => {
return true;
};
export { command };
export { callback };
export { check };
export { check };

@ -1,6 +1,5 @@
import { CommandInteraction } from "discord.js";
import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import create from "../../actions/tickets/create.js";
const command = (builder: SlashCommandSubcommandBuilder) =>
@ -9,14 +8,14 @@ const command = (builder: SlashCommandSubcommandBuilder) =>
.setDescription("Creates a new modmail ticket")
.addStringOption(option => option.setName("message").setDescription("The content of the ticket").setRequired(false));
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void> => {
await create(interaction);
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = () => {
return true;
};
export { command };
export { callback };
export { check };
export { check };

@ -1,7 +1,6 @@
import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
import Discord, { CommandInteraction, MessageActionRow, MessageButton } from "discord.js";
import Discord, { CommandInteraction, GuildMember, Message, MessageActionRow, MessageActionRowComponent, MessageButton, MessageComponentInteraction, SelectMenuInteraction } from "discord.js";
import { SelectMenuOption, SlashCommandSubcommandBuilder } from "@discordjs/builders";
import { WrappedCheck } from "jshaiku";
import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
import getEmojiByName from "../../utils/getEmojiByName.js";
import generateKeyValueList from "../../utils/generateKeyValueList.js";
@ -27,7 +26,7 @@ class Embed {
}
const callback = async (interaction: CommandInteraction): Promise<any> => {
const callback = async (interaction: CommandInteraction): Promise<void> => {
const { renderUser, renderDelta } = client.logger;
const member = (interaction.options.getMember("user") || interaction.member) as Discord.GuildMember;
const flags: string[] = [];
@ -37,7 +36,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
"261900651230003201", // Coded
"511655498676699136" // Zan
].includes(member.user.id)) { flags.push("NUCLEUSDEVELOPER"); }
if ((await client.guilds.cache.get("684492926528651336")?.members.fetch())?.filter(m => m.roles.cache.has("760896837866749972"))?.map(m => m.id).includes(member.user.id)) { flags.push("CLICKSDEVELOPER"); }
if ((await client.guilds.cache.get("684492926528651336")?.members.fetch())?.filter((m: GuildMember) => m.roles.cache.has("760896837866749972"))?.map((m: GuildMember) => m.id).includes(member.user.id)) { flags.push("CLICKSDEVELOPER"); }
member.user.flags.toArray().map(flag => {
flags.push(flag.toString());
});
@ -126,7 +125,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
"join position": `${joinPos + 1}`
})
)
.setThumbnail(await member.user.displayAvatarURL({dynamic: true}))
.setThumbnail(member.user.displayAvatarURL({dynamic: true}))
.setImage((await member.user.fetch()).bannerURL({format: "gif"}))
).setTitle("General").setDescription("General information about the user").setPageId(0),
new Embed()
@ -142,7 +141,7 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
}) + "\n" +
(s.length > 0 ? s : "*None*") + "\n"
)
.setThumbnail(await member.user.displayAvatarURL({dynamic: true}))
.setThumbnail(member.user.displayAvatarURL({dynamic: true}))
).setTitle("Roles").setDescription("Roles the user has").setPageId(1),
new Embed()
.setEmbed(new EmojiEmbed()
@ -155,11 +154,10 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
"id": `\`${member.id}\``
}) + "\n" + perms
)
.setThumbnail(await member.user.displayAvatarURL({dynamic: true}))
.setThumbnail(member.user.displayAvatarURL({dynamic: true}))
).setTitle("Key Permissions").setDescription("Key permissions the user has").setPageId(2)
];
let m;
m = await interaction.reply({embeds: LoadingEmbed, fetchReply: true, ephemeral: true});
const m = await interaction.reply({embeds: LoadingEmbed, fetchReply: true, ephemeral: true});
let page = 0;
let breakReason = "";
while (true) {
@ -208,24 +206,24 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
.setStyle("DANGER")
])])
});
let i;
let i: MessageComponentInteraction;
try {
i = await m.awaitMessageComponent({time: 300000});
i = await (m as Message).awaitMessageComponent({time: 300000});
} catch { breakReason = "Message timed out"; break; }
i.deferUpdate();
if (i.component.customId === "left") {
if ((i.component as MessageActionRowComponent).customId === "left") {
if (page > 0) page--;
selectPaneOpen = false;
} else if (i.component.customId === "right") {
} else if ((i.component as MessageActionRowComponent).customId === "right") {
if (page < embeds.length - 1) page++;
selectPaneOpen = false;
} else if (i.component.customId === "select") {
} else if ((i.component as MessageActionRowComponent).customId === "select") {
selectPaneOpen = !selectPaneOpen;
} else if (i.component.customId === "close") {
} else if ((i.component as MessageActionRowComponent).customId === "close") {
breakReason = "Message closed";
break;
} else if (i.component.customId === "page") {
page = parseInt(i.values[0]);
} else if ((i.component as MessageActionRowComponent).customId === "page") {
page = parseInt((i as SelectMenuInteraction).values[0]);
selectPaneOpen = false;
} else {
breakReason = "Message closed";
@ -258,10 +256,10 @@ const callback = async (interaction: CommandInteraction): Promise<any> => {
])]});
};
const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
const check = () => {
return true;
};
export { command };
export { callback };
export { check };
export { check };

Loading…
Cancel
Save