Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kartikesingh/discord-pagination-advanced
An module to create advanced pagination for your discord bots.
https://github.com/kartikesingh/discord-pagination-advanced
Last synced: 24 days ago
JSON representation
An module to create advanced pagination for your discord bots.
- Host: GitHub
- URL: https://github.com/kartikesingh/discord-pagination-advanced
- Owner: KartikeSingh
- Created: 2021-09-18T02:59:42.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-27T02:51:08.000Z (over 1 year ago)
- Last Synced: 2024-11-16T01:51:28.495Z (about 2 months ago)
- Language: JavaScript
- Size: 20.5 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Installations
```
npm i discord-pagination-advanced
```# What is it?
An package to easily create pagination not only for embeds but also for simple string messages, with buttons.# Why use this?
- Fast & Advanced
- Easy & Customizable
- Good for both beginners & pros# How ?
```js
const page = require('discord-pagination-advanced');const pages = ["some string", aMessagEmbed, anotherEmbed, "some more string maybe"];
/**
* @param message The message Object
* @param pages The array of pages.
*/
page(message, pages);
```# Available Options
```js
/**
* @typedef Options The options to control the pagination
* @property {Number} timeout The time for which pagination stays active
* @property {Array<{label: string, style:MessageButtonStyle, emoji: string }>} buttonConfig
* @property {Boolean} pageSkip Do you want page skip buttons
* @property {Boolean} deleteMessage Do you want to delete the pagination message after it ends
* @property {Boolean} editReply Do you want to edit the interaction message for the pagination
* @property {Boolean} ephemeral Do you want to the reply to be ephemeral or not
* @property {Boolean} logs Do you want the bot to log errors, default is true
* @property {Boolean} removeComponent Do you to remove component after the collector ends
* @property {Function} filter The interaction listener filter
*/
```# Examples
## Custom Filters
```js
const page = require('discord-pagination-advanced');const pages = ["some string", aMessagEmbed, anotherEmbed,"some more string maybe"];
const options = {
filter: (i) => !i.user.bot // function to select people who can use the buttons
}page(message, pages, options)
```## Custom Buttons
```js
const page = require('discord-pagination-advanced');const pages = ["some string", aMessagEmbed, anotherEmbed,"some more string maybe"];
const options = {
emojis: ["⬅", "➡", "❌"], // Emojis of the buttons
buttonConfig: [ // Label & style (these are optional)
{
label: "Back",
style: "SECONDARY"
},
{
label: "Forward",
style: "SECONDARY"
},
{
label: "", // empty string is allowed
style: "SECONDARY"
}]
}page(message, pages, options);
// page skip option!
const options = {
emojis: ["⬅", "➡", "❌", "⏮️", "⏭️",], // Emojis of the buttons
buttonConfig: [ // Label & style (these are optional)
{
label: "Left",
style: "SECONDARY",
},
{
label: "Right",
style: "SECONDARY",
},
{
label: "Close",
style: "SECONDARY",
},
{
label: "Skip To First",
style: "SECONDARY",
},
{
label: "Skip To Last",
style: "SECONDARY",
emoji: "⏭️", // you can pass emoji here too
}],
pageSkip: true, // enables the 5 button mode
}page(message, pages, options);
```## Other Options
```js
const page = require('discord-pagination-advanced');const pages = ["some string", aMessagEmbed, anotherEmbed,"some more string maybe"];
const options = {
timeout: 60000, // ms time for which buttons will stay active
deleteMessage: true, // Whether you want to auto delete the message or not
editReply: false, // If you wanna edit reply or send a follow up
ephemeral: true, // If reply should be ephemeral (for interaction only)
}page(message, pages, options)
```
# Support
for support or issues or queries contace me on my [discord server](https://discord.gg/krazydev).