Fast, reliable and easy to use modern library to implement customizable embed pages in Discord Chat.
m00ny 180820f9a7 chore README: change badges and refine text | 1 tahun lalu | |
---|---|---|
.github | 2 tahun lalu | |
assets | 1 tahun lalu | |
examples | 2 tahun lalu | |
packages | 1 tahun lalu | |
.eslintignore | 2 tahun lalu | |
.eslintrc | 2 tahun lalu | |
.gitattributes | 1 tahun lalu | |
.gitignore | 2 tahun lalu | |
LICENSE.md | 2 tahun lalu | |
README.md | 1 tahun lalu | |
TODO.md | 2 tahun lalu | |
VERSIONING.md | 2 tahun lalu | |
package-lock.json | 2 tahun lalu | |
package.json | 2 tahun lalu | |
tsconfig.json | 2 tahun lalu |
<br>
<p>
<a href = "https://i-moony.github.io/djs-button-pages/">
<img src = "./assets/djs-button-pages-cropped.png" alt = "logo" />
</a>
</p>
<p>
<a href = "https://www.npmjs.com/package/djs-button-pages">
<img src = "https://img.shields.io/npm/v/djs-button-pages?color=FF4433&style=for-the-badge" alt = "npm-version" />
</a>
<a href = "https://www.npmjs.com/package/djs-button-pages">
<img src = "https://img.shields.io/npm/dt/djs-button-pages?color=FF4433&style=for-the-badge" alt = "npm-downloads" />
</a>
<a href = "https://github.com/i-Moony/djs-button-pages">
<img src = "https://img.shields.io/github/issues/i-Moony/djs-button-pages?color=FF4433&style=for-the-badge" alt = "github-issues" />
</a>
</p>
<p>
<a href = "https://discord.gg/WRKyCpHRAP">
<img src = "https://img.shields.io/discord/1094672489180844164?color=%235164e3&label=Discord&logo=Discord&logoColor=%23FFFFFF&style=for-the-badge" />
</a>
</p>
<img src = "./assets/showcase.gif" alt = "Library in action" title = "Library in action" />
▶️ Works with Discord.JS. Supports v14. Legacy versions support v13 and v14.
▶️ This packages supports creation of custom buttons with your own scripts through a simple API.
▶️ If you want some pre-built buttons consider using @djs-button-pages/presets. They contain basic ones (But you can contribute some of your own to this package if you want to).
npm install djs-button-pages
yarn add djs-button-pages
pnpm install djs-button-pages
// Imports.
const { Client, EmbedBuilder, ButtonStyle } = require("discord.js");
const { PaginationWrapper } = require("djs-button-pages");
// Pre-made buttons.
const { NextPageButton, PreviousPageButton } = require('@djs-button-pages/presets');
const embeds =
[
// Array of embeds for pagination.
];
// Array of buttons for pagination.
const buttons =
[
new PreviousPageButton
({
custom_id: "prev_page",
emoji: "◀",
style: ButtonStyle.Secondary
}),
new NextPageButton
({
custom_id: "next_page",
emoji: "▶",
style: ButtonStyle.Secondary
}),
];
// No intents needed for this example.
const client = new Client({intents: []});
// Catch command.
client.on("interactionCreate", async (interaction) => {
if (interaction.isCommand() && interaction.commandName === "pages")
{
// Setup pagination.
const pagination = new PaginationWrapper()
.setButtons(buttons)
.setEmbeds(embeds)
.setTime(60000);
// Send it as a reply to interaction.
await pagination.interactionReply(interaction);
// Everything else will be done for you!
};
});
For bug reporting look for GitHub Issues.
If you need support, you can join my Discord Server.
Copyright © 2022 Danila Kononov (nickname: moony). All rights reserved.
Licensed under the Apache License, Version 2.0.