Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/i-moony/djs-button-pages
Simple yet powerful and extensible module to create fully-customizable embed pages with buttons.
https://github.com/i-moony/djs-button-pages
discord discord-js pagination
Last synced: 4 months ago
JSON representation
Simple yet powerful and extensible module to create fully-customizable embed pages with buttons.
- Host: GitHub
- URL: https://github.com/i-moony/djs-button-pages
- Owner: i-Moony
- License: apache-2.0
- Created: 2022-06-19T11:53:30.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2023-05-25T13:53:23.000Z (over 1 year ago)
- Last Synced: 2024-10-12T03:20:36.336Z (4 months ago)
- Topics: discord, discord-js, pagination
- Language: TypeScript
- Homepage: https://i-moony.github.io/djs-button-pages/
- Size: 2.55 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
README
# 📚 About package:
### **Simple yet powerful and extensible module to create fully-customizable embed pages with buttons.**▶️ Works with [Discord.JS](https://www.npmjs.com/package/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](https://www.npmjs.com/package/@djs-button-pages/presets). They contain basic ones *(But you can contribute some of your own to this package if you want to)*.
# 📥 Installation:
### Requires Node **16.9** *(because of Discord.JS)*.```bash
npm install djs-button-pages
```
```bash
yarn add djs-button-pages
```
```bash
pnpm install djs-button-pages
```### There are several other branches:
- **djs14-legacy**
- **djs13**
- **djs13-legacy**# 📃 Examples:
## Basic example:
```js
// 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!
};
});
```### More interesting examples with commentary can be found at [GitHub](https://github.com/i-Moony/djs-button-pages) page.
# ❔ Links:
* [GitHub](https://github.com/i-Moony/djs-button-pages)
* [Documentation](https://i-moony.github.io/djs-button-pages/)
* [NPM](https://www.npmjs.com/package/djs-button-pages)
* [NotABug](https://notabug.org/m00ny/djs-button-pages)
* [Discord Server](https://discord.gg/WRKyCpHRAP)
* [Discord.JS](https://discord.js.org/)
* [Discord.JS Documenation](https://discord.js.org/#/docs/)
* [Discord.JS Guide](https://discordjs.guide/)# 🐛 Bug Reporting:
For bug reporting look for [GitHub Issues](https://github.com/i-Moony/djs-button-pages/issues).If you need support, you can join my [Discord Server](https://discord.gg/WRKyCpHRAP).
# © License:
Copyright © 2022 Danila Kononov (nickname: moony). All rights reserved.
Licensed under the Apache License, Version 2.0.