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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@spatulox/discord-interaction-manager

v1.0.14

Published

discord-interaction-manager is a lightweight CLI tool to manage Discord bot interactions (slash commands, context menus) in under 30 seconds. Deploy, update, delete, and generate interaction files with an interactive terminal interface.

Readme

Discord Interaction Manager

Are you always fed up with creating interactions by hand or developing your own tools to deploy, update, or delete a slash command or a context menu ? Same thing when listing interactions — because it’s a mess with specific guild interactions and global interaction ? You never know which one is where or which permission it have ? This tool is made for you ! Discord Interaction Manager is a lightweight CLI tool to manage Discord bot interactions (slash commands, context menus) in under 10 seconds. Generate, deploy, list, update, delete, your interactions with an interactive terminal interface.

✨ Features

📡 Interaction Management: List, deploy, update, delete global/guild commands & context menus

⚙️ File Generation: Interactive JSON generators for slash commands & context menus

🔍 Guild Discovery: Auto-detect all guilds + interaction counts per guild

🎛️ Interactive CLI: Rich menus, input validation, interaction selection

📦 Only one runtime deps: Only discord.js is required in production

🛡️ Never deprecated: Uses discord.js for all Discord requests and enum, always up-to-date with Discord API

This documentation assume that you know how interactions are built on Discord, if not, please see :

⚠️ Unsupported Interaction

-  Discord Component are not supported, because it's not a static thing register on Discord.
-  Discord "Activities" are not supported, because it's a complete game feature.

Quick Start

npm install @spatulox/discord-interaction-manager

Env variables :

You can use dotenv or set them by hand

DISCORD_BOT_TOKEN="" // Discord Bot Token
DISCORD_BOT_CLIENTID="" // The clientID of your bot
DISCORD_INTERACTION_FOLDER="" // Optionnal, redirect where the generated interactions files are stored

Run the tool

Simply type "dim" in your console (which stands for DiscordInteractionManager)

dim

You will be greet by a CLI :

💠 SimpleDiscordBot CLI
════════════════════════════════════════
1. Manage Interactions
2. Generate Files
3. Help
4. Exit
════════════════════════════════════════
Choose an option: 

How it works

Creating an interaction

  • You can generate slash commands and context menu with the cli
  • When generating files with the cli, you should be able to see generated files in the "./handlers"*

Deploy an interaction

  • Once you have deployed an interaction, you can update/delete it using the cli
  • The scope** of the interaction is determined while generating the file

List interactions

  • List global interaction
  • List interaction locked to a specific guild
  • Count the number of interaction by scope**

Update an interaction

  • You can update any interaction, by updating the generated file inside the "./handlers" folder*
  • Once you updated the generated file, you can use the cli to update the interaction on Discord
  • If you want to change the scope** of an interaction you can delete/add the "guild_ids" field in the generated interaction files, just don't forget to delete the old one and deploy the new one. Normal update will not work
  • If you want to update the permission of the interaction, you need to update the "default_member_permissions_string" field with the keyof PermissionBitFields of discordjs (or let it empty for everyone), it will automatically update the "default_member_permissions" field required by Discord
  • If the "default_member_permissions_string" field doesn't exist for some reason, you can create it or go to the Discord Dev potal, in any of your app, go to the "Bot" tab and then check any of the "BotPermission" you want for the interaction and then copy the "Permission Integer" to paste it inside the "default_member_permissions" field inside the json of the interaction

Delete an interation

  • You can delete any interaction, in any scope**

Key:

  • *Folder at the root of your project, if not, make sure you didn't overwrite the path with the DISCORD_INTERACTION_FOLDER variable
  • **Scope refer to "global" or "guild specific"