New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

djs-button-pages

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

djs-button-pages

A simple yet powerful module for implementing customizable embed pages with buttons in Discord chat. Works only with Discord.js.

djs14
latest
Source
npmnpm
Version
4.0.1
Version published
Weekly downloads
22
-21.43%
Maintainers
1
Weekly downloads
 
Created
Source

logo

npm-version npm-downloads github-issues

📚 About package:

Simple yet powerful and extensible module to create fully-customizable embed pages with buttons.

▶️ 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 and they may be used in other projects.

📥 Installation:

Requires Node 16.9 (because of Discord.JS).

npm install djs-button-pages
yarn add djs-button-pages
pnpm install djs-button-pages

There are several other branches:

  • djs14-legacy
  • djs13
  • djs13-legacy

📃 Examples:

Basic example:

//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');

//Array of embeds for pagination.
const embeds =
[
    new EmbedBuilder().setColor("Aqua").setTitle("Test!").setDescription("Whoosh! Your first page!"),
    new EmbedBuilder().setColor("Blurple").setTitle("Test!").setDescription("Wow! It's a second one!"),
    new EmbedBuilder().setColor("DarkAqua").setTitle("Test!").setDescription("Unbelivable! Third page is available to be bought for 20$!"),
    new EmbedBuilder().setColor("DarkGold").setTitle("Test!").setDescription("Not possible! This is my fourth page!"),
    new EmbedBuilder().setColor("Gold").setTitle("Test!").setDescription("Not probable! Special fifth page!"),
    new EmbedBuilder().setColor("DarkButNotBlack").setTitle("Test!").setDescription("Wow! Another page..."),
    new EmbedBuilder().setColor("White").setTitle("Test!").setDescription("Don't tell me that it is page number seven!"),
    new EmbedBuilder().setColor("Red").setTitle("Oh, wow!").setDescription("Looks like it is the last page("),
];

//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.
const client = new Client({intents: []});

//Ready!
client.once("ready", async () => {
    console.log("Ready!");

    //Fetch guild that is needed.
    const guild = await client.guilds.fetch("yourGuildId");

    //Add command.
    guild.commands.create({name: "pages", description: "Testing DJS-Button-Pages!"});
});

//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);
    };
});

//Login.
client.login("yourToken");

More complicated examples with commentary can be found at GitHub page.

🐛 Bug Reporting:

For bug reporting look for GitHub Issues.

Or you can DM me in Discord: moony#6815.

© License:

Copyright © 2022 Danila Kononov (nickname: moony). All rights reserved.

Licensed under the Apache License, Version 2.0.

Keywords

djs

FAQs

Package last updated on 27 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts