npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

v13-extra-menus

v4.0.0

Published

<div align="center"><h1>v13-extra-menus</h1></div>

Readme

About

v13-extra-menus is a powerful Node.js module that allows you to easily create v14 menus on djs v13

Dependencies

Needs discord.js v13 NOT WORKING IN V14 If discord.js isn't installed yet :

npm install discord.js@13-latest

Installation

npm i v13-extra-menus

Importing

Javascript

const {
  UserSelectMenuBuilder,
  ActionRowBuilder,
  use,
  ChannelSelectMenuBuilder,
  RoleSelectMenuBuilder,
  MentionableSelectMenuBuilder,
} = require("v13-extra-menus");

First set the client with the use methode

const { use } = require("v13-extra-menus");
const { Client } = require("discord.js");
const client = new Client({
  intents: [3767],
});
use(); // This is important in v3 version we dont use client anymore

Here is how to create the menus...

//importing the builders
const {
  UserSelectMenuBuilder,
  ActionRowBuilder,
  ChannelSelectMenuBuilder,
  RoleSelectMenuBuilder,
  MentionableSelectMenuBuilder,
} = require("v13-extra-menus");
//create a row
const row = new ActionRowBuilder();

//then create a menu

const menu = new UserSelectMenuBuilder({
  customId: "test", //custom id is required
  placeholder: "test", //placeholder is not required but it's recommended
  maxValues: 5, //max values is not required but it's recommended
  minValues: 1, //min values is not required but it's recommended
  //you can see discord js docs for more info
});
//adding the menu to the row
row.addComponents(menu);
//redo the same for the other menus
const menu2 = new ChannelSelectMenuBuilder({
  customId: "test2",
  placeholder: "test2",
  maxValues: 5,
});
const row2 = new ActionRowBuilder();
row2.addComponents(menu2);
const menu3 = new RoleSelectMenuBuilder({
  customId: "test3",
  placeholder: "test3",
  maxValues: 5,
});
const row3 = new ActionRowBuilder();
row3.addComponents(menu3);

const menu4 = new MentionableSelectMenuBuilder({
  customId: "test4",
  placeholder: "test4",
  minValues: 1,
  maxValues: 5,
});
const row4 = new ActionRowBuilder();
row4.addComponents(menu4);

//send the message with the menus
message.channel.send({ content: "test", components: [row, row2, row3, row4] });

Page 1

Receiving the menus

const collector = message.createMessageComponentCollector({
  componentType: "UserSelectMenu", //componentType are listed below
  time: 100000,
});
collector.on("collect", async (interaction) => {
  if (interaction.customId === "test") {
    //do something with the interaction
  }
});

Page 2

ComponentType

You gonna need this if you want to create a collector and filter the menus

| Types | | ----------------------- | | UserSelectMenu | | ChannelSelectMenu | | RoleSelectMenu | | MentionableSelectMenu |

Trouble

Having a problem using v13-extra-menus ? Open an issue on Github & Don't hesitate to send a message to the discord tag below 👇 !

Credits

Made by Combo-Miner (!"Unkown#6666 on discord)