added page indicators
diff --git a/src/automations/guide.ts b/src/automations/guide.ts
index e3cfa25..19a3337 100644
--- a/src/automations/guide.ts
+++ b/src/automations/guide.ts
@@ -1,6 +1,7 @@
import Discord, { MessageActionRow, MessageButton } from "discord.js";
import generateEmojiEmbed from "../utils/generateEmojiEmbed.js";
import getEmojiByName from "../utils/getEmojiByName.js";
+import createPageIndicator from "../utils/createPageIndicator.js";
export default async (guild, interaction?) => {
let c = guild.publicUpdatesChannel ? guild.publicUpdatesChannel : guild.systemChannel;
@@ -39,7 +40,7 @@
`**${getEmojiByName("PUNISH.KICK.RED")} Kick:** The user is removed from the server.\n` +
`**${getEmojiByName("PUNISH.SOFTBAN")} Softban:** Kicks the user, deleting their messages from every channel.\n` +
`**${getEmojiByName("PUNISH.BAN.RED")} Ban:** The user is removed from the server, and they are unable to rejoin.\n` +
- `**${getEmojiByName("PUNISH.BAN.GREEN")} Unban:** The user is able to rejoin the server.\n`
+ `**${getEmojiByName("PUNISH.BAN.GREEN")} Unban:** The user is able to rejoin the server.`
)
.setEmoji("NUCLEUS.LOGO")
.setStatus("Danger"),
@@ -99,8 +100,10 @@
while (true) {
if (interaction) {
+ let em = new Discord.MessageEmbed(pages[page])
+ em.setDescription(em.description + "\n\n" + createPageIndicator(pages.length, page));
await interaction.editReply({
- embeds: [pages[page].setFooter({text: `Page ${page + 1}/${pages.length}`})],
+ embeds: [em],
components: [new MessageActionRow().addComponents([
new MessageButton().setCustomId("left").setEmoji(getEmojiByName("CONTROL.LEFT", "id")).setStyle("SECONDARY").setDisabled(page === 0),
new MessageButton().setCustomId("right").setEmoji(getEmojiByName("CONTROL.RIGHT", "id")).setStyle("SECONDARY").setDisabled(page === pages.length - 1),
@@ -130,7 +133,13 @@
if (page < pages.length - 1) page++;
} else if (i.component.customId == "close") {
if (interaction) {
- interaction.delete();
+ let em = new Discord.MessageEmbed(pages[page])
+ em.setDescription(em.description + "\n\n" + createPageIndicator(pages.length, page) + " | Message closed");
+ interaction.editReply({embeds: [em], components: [new MessageActionRow().addComponents([
+ new MessageButton().setCustomId("left").setEmoji(getEmojiByName("CONTROL.LEFT", "id")).setStyle("SECONDARY").setDisabled(true),
+ new MessageButton().setCustomId("right").setEmoji(getEmojiByName("CONTROL.RIGHT", "id")).setStyle("SECONDARY").setDisabled(true),
+ new MessageButton().setCustomId("close").setEmoji(getEmojiByName("CONTROL.CROSS", "id")).setStyle("DANGER").setDisabled(true)
+ ])], fetchReply: true});
} else {
m.delete();
}
@@ -141,8 +150,10 @@
}
}
if (interaction) {
+ let em = new Discord.MessageEmbed(pages[page])
+ em.setDescription(em.description + "\n\n" + createPageIndicator(pages.length, page) + " | Message timed out");
await interaction.editReply({
- embeds: [pages[page].setFooter({text: `Page ${page + 1}/${pages.length} | Message timed out`})],
+ embeds: [em],
components: [new MessageActionRow().addComponents([
new MessageButton().setCustomId("left").setEmoji(getEmojiByName("CONTROL.LEFT", "id")).setStyle("SECONDARY").setDisabled(true),
new MessageButton().setCustomId("right").setEmoji(getEmojiByName("CONTROL.RIGHT", "id")).setStyle("SECONDARY").setDisabled(true),
@@ -150,8 +161,10 @@
])]
});
} else {
+ let em = new Discord.MessageEmbed(pages[page])
+ em.setDescription(em.description + "\n\n" + createPageIndicator(pages.length, page) + " | Message timed out");
await m.edit({
- embeds: [pages[page].setFooter({text: `Page ${page + 1}/${pages.length} | Message timed out`})],
+ embeds: [em],
components: [new MessageActionRow().addComponents([
new MessageButton().setCustomId("left").setEmoji(getEmojiByName("CONTROL.LEFT", "id")).setStyle("SECONDARY").setDisabled(true),
new MessageButton().setCustomId("right").setEmoji(getEmojiByName("CONTROL.RIGHT", "id")).setStyle("SECONDARY").setDisabled(true),
diff --git a/src/automations/unscan.ts b/src/automations/unscan.ts
index b5c5ffb..d3a2a18 100644
--- a/src/automations/unscan.ts
+++ b/src/automations/unscan.ts
@@ -1,5 +1,5 @@
import * as scan from '../utils/scanners.js'
-import Tesseract from 'tesseract.js';
+import process from 'tesseract.js'
export async function LinkCheck(message): Promise<boolean> {
let links = message.content.match(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/gi) ?? []
@@ -70,4 +70,4 @@
export async function TestImage(element): Promise<string> {
return "";
-}
\ No newline at end of file
+}
diff --git a/src/automations/verify.ts b/src/automations/verify.ts
index a60ed07..3d4e658 100644
--- a/src/automations/verify.ts
+++ b/src/automations/verify.ts
@@ -3,12 +3,18 @@
import readConfig from "../utils/readConfig.js";
import fetch from "node-fetch";
import { TestString, NSFWCheck } from "../automations/unscan.js";
+import createPageIndicator from "../utils/createPageIndicator.js";
+
+function step(i) {
+ return "\n\n" + createPageIndicator(5, i);
+}
export default async function(interaction) {
// @ts-ignore
let verify = interaction.client.verify
await interaction.reply({embeds: [new generateEmojiEmbed()
.setTitle("Loading")
+ .setDescription(step(-1))
.setStatus("Danger")
.setEmoji("NUCLEUS.LOADING")
], ephemeral: true, fetchReply: true});
@@ -16,23 +22,23 @@
if ((interaction.member as GuildMember).roles.cache.has(config.verify.role)) {
return await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`You already have the <@&${config.verify.role}> role`)
+ .setDescription(`You already have the <@&${config.verify.role}> role` + step(0))
.setStatus("Danger")
.setEmoji("CONTROL.BLOCKCROSS")
]});
}
await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Checking our servers are up`)
+ .setDescription(`Checking our servers are up` + step(0))
.setStatus("Warning")
.setEmoji("NUCLEUS.LOADING")
]});
try {
- let status = await fetch(`https://clicks.codes`).then(res => res.status);
+ let status = await fetch(`https://clicks.codes/`).then(res => res.status);
if (status != 200) {
return await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Our servers appear to be down, please try again later`)
+ .setDescription(`Our servers appear to be down, please try again later` + step(0))
.setStatus("Danger")
.setEmoji("CONTROL.BLOCKCROSS")
]});
@@ -40,7 +46,7 @@
} catch {
return await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Our servers appear to be down, please try again later`)
+ .setDescription(`Our servers appear to be down, please try again later` + step(0))
.setStatus("Danger")
.setEmoji("CONTROL.BLOCKCROSS")
], components: [new Discord.MessageActionRow().addComponents([
@@ -57,14 +63,14 @@
if (config.filters.images.NSFW) {
await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Checking your avatar is safe for work`)
+ .setDescription(`Checking your avatar is safe for work` + step(1))
.setStatus("Warning")
.setEmoji("NUCLEUS.LOADING")
]});
if (await NSFWCheck((interaction.member as GuildMember).user.avatarURL({format: "png"}))) {
return await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Your avatar was detected as NSFW, which we do not allow in this server.\nPlease contact one of our staff members if you believe this is a mistake`)
+ .setDescription(`Your avatar was detected as NSFW, which we do not allow in this server.\nPlease contact one of our staff members if you believe this is a mistake` + step(1))
.setStatus("Danger")
.setEmoji("CONTROL.BLOCKCROSS")
]});
@@ -73,14 +79,14 @@
if (config.filters.wordFilter) {
await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Checking your name is allowed`)
+ .setDescription(`Checking your name is allowed` + step(2))
.setStatus("Warning")
.setEmoji("NUCLEUS.LOADING")
]});
if (TestString((interaction.member as Discord.GuildMember).displayName, config.filters.wordFilter.words.loose, config.filters.wordFilter.words.strict) != "none") {
return await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Your name contained a word we do not allow in this server.\nPlease contact one of our staff members if you believe this is a mistake`)
+ .setDescription(`Your name contained a word we do not allow in this server.\nPlease contact one of our staff members if you believe this is a mistake` + step(2))
.setStatus("Danger")
.setEmoji("CONTROL.BLOCKCROSS")
]});
@@ -88,7 +94,7 @@
}
await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`One moment...`)
+ .setDescription(`One moment...` + step(3))
.setStatus("Warning")
.setEmoji("NUCLEUS.LOADING")
]});
@@ -120,7 +126,7 @@
}
await interaction.editReply({embeds: [new generateEmojiEmbed()
.setTitle("Verify")
- .setDescription(`Looking good!\nClick the button below to get verified`)
+ .setDescription(`Looking good!\nClick the button below to get verified` + step(4))
.setStatus("Success")
.setEmoji("MEMBER.JOIN")
], components: [new Discord.MessageActionRow().addComponents([new Discord.MessageButton()