djs-next 1.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of djs-next might be problematic. Click here for more details.
- package/README.md +219 -0
- package/assets/djs-next.png +0 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +344 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.mjs +321 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/index.d.mts +109 -0
- package/dist/index.d.ts +109 -0
- package/dist/index.js +919 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +885 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +45 -0
- package/src/cli.ts +203 -0
- package/src/client.ts +283 -0
- package/src/handlers/commandHandler.ts +139 -0
- package/src/handlers/componentHandler.ts +31 -0
- package/src/handlers/eventHandler.ts +37 -0
- package/src/handlers/taskHandler.ts +38 -0
- package/src/handlers/utils.ts +25 -0
- package/src/index.ts +7 -0
- package/src/plugins/dnxt.ts +379 -0
- package/src/templates/cjs.ts +49 -0
- package/src/templates/esm.ts +43 -0
- package/src/templates/ts.ts +47 -0
- package/src/test/client.test.ts +8 -0
- package/src/types.ts +69 -0
- package/src/utils/configLoader.ts +27 -0
- package/src/utils/i18n.ts +57 -0
- package/src/utils/paginate.ts +71 -0
- package/tsconfig.json +16 -0
- package/tsup.config.ts +10 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ActionRowBuilder,
|
|
3
|
+
ButtonBuilder,
|
|
4
|
+
ButtonStyle,
|
|
5
|
+
CommandInteraction,
|
|
6
|
+
EmbedBuilder,
|
|
7
|
+
MessageComponentInteraction
|
|
8
|
+
} from 'discord.js';
|
|
9
|
+
|
|
10
|
+
export async function paginate(
|
|
11
|
+
interaction: CommandInteraction | MessageComponentInteraction,
|
|
12
|
+
pages: EmbedBuilder[],
|
|
13
|
+
time: number = 60000
|
|
14
|
+
) {
|
|
15
|
+
if (!interaction.deferred && !interaction.replied) {
|
|
16
|
+
await interaction.deferReply();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (pages.length === 1) {
|
|
20
|
+
return interaction.editReply({ embeds: [pages[0]], components: [] });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
let index = 0;
|
|
24
|
+
|
|
25
|
+
const prevButton = new ButtonBuilder()
|
|
26
|
+
.setCustomId('djs_prev')
|
|
27
|
+
.setLabel('Previous')
|
|
28
|
+
.setStyle(ButtonStyle.Primary)
|
|
29
|
+
.setDisabled(true);
|
|
30
|
+
|
|
31
|
+
const nextButton = new ButtonBuilder()
|
|
32
|
+
.setCustomId('djs_next')
|
|
33
|
+
.setLabel('Next')
|
|
34
|
+
.setStyle(ButtonStyle.Primary);
|
|
35
|
+
|
|
36
|
+
const row = new ActionRowBuilder<ButtonBuilder>().addComponents(prevButton, nextButton);
|
|
37
|
+
|
|
38
|
+
const message = await interaction.editReply({
|
|
39
|
+
embeds: [pages[index]],
|
|
40
|
+
components: [row],
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const collector = message.createMessageComponentCollector({
|
|
44
|
+
filter: (i) => i.user.id === interaction.user.id,
|
|
45
|
+
time
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
collector.on('collect', async (i) => {
|
|
49
|
+
if (i.customId === 'djs_prev') {
|
|
50
|
+
index = index > 0 ? index - 1 : index;
|
|
51
|
+
} else if (i.customId === 'djs_next') {
|
|
52
|
+
index = index < pages.length - 1 ? index + 1 : index;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
prevButton.setDisabled(index === 0);
|
|
56
|
+
nextButton.setDisabled(index === pages.length - 1);
|
|
57
|
+
|
|
58
|
+
await i.update({
|
|
59
|
+
embeds: [pages[index]],
|
|
60
|
+
components: [new ActionRowBuilder<ButtonBuilder>().addComponents(prevButton, nextButton)]
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
collector.on('end', async () => {
|
|
65
|
+
prevButton.setDisabled(true);
|
|
66
|
+
nextButton.setDisabled(true);
|
|
67
|
+
await interaction.editReply({
|
|
68
|
+
components: [new ActionRowBuilder<ButtonBuilder>().addComponents(prevButton, nextButton)]
|
|
69
|
+
}).catch(() => {});
|
|
70
|
+
});
|
|
71
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"forceConsistentCasingInFileNames": true,
|
|
10
|
+
"declaration": true,
|
|
11
|
+
"outDir": "./dist",
|
|
12
|
+
"types": ["node"],
|
|
13
|
+
"ignoreDeprecations": "6.0"
|
|
14
|
+
},
|
|
15
|
+
"include": ["src/**/*"]
|
|
16
|
+
}
|
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { defineConfig } from 'tsup';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
entry: ['src/index.ts', 'src/cli.ts'],
|
|
5
|
+
format: ['cjs', 'esm'], // Build for CommonJS and ES Modules
|
|
6
|
+
dts: true, // Generate declaration file (.d.ts)
|
|
7
|
+
splitting: false,
|
|
8
|
+
sourcemap: true,
|
|
9
|
+
clean: true,
|
|
10
|
+
});
|