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

novacordjs

v0.0.6

Published

Ein Framework für discord.js

Readme

🌌 NovaCord

Ein leichtgewichtiges Framework für discord.js (ESM), das dir den Kopf frei hält von Boilerplate und dir einen komfortablen Start für deinen Discord-Bot ermöglicht.
NovaCord bietet automatisches Laden & Deployen von Slash Commands, eine professionelle Startmeldung in der Konsole sowie robustes Error-Handling.

🎯 Ziel: Schnell produktiv werden, klare Struktur, weniger Kopfschmerzen.


📊 Status

npm version License: MIT discord.js


✨ Features

  • 🚀 ESM-first: import { NovaClient } from "novacordjs";
  • 📂 Command-Loader: Lädt automatisch alle Commands aus einem Ordner (z. B. ./commands).
  • Slash-Command Deploy: Registriere deine Commands global oder nur für einzelne Guilds.
  • 🖥 Startmeldung in der Konsole: Übersichtliche Infos zum Bot (Name, ID, Version, Guilds, Latenz, Commands).
  • 🛡 Robustes Error-Handling: Saubere Fehlermeldungen für User (ephemeral) & Logs in der Konsole.
  • 🔑 .env-Support: Token, IDs & sensible Daten bleiben sauber getrennt vom Code.

📦 Installation

npm install novacordjs

Oder lokal für die Entwicklung:

npm install ./pfad/zu/deinem/novacordjs

🚀 Schnellstart

1️⃣ .env

TOKEN=dein_discord_bot_token
CLIENT_ID=123456789012345678
# Optional:
# GUILD_ID=987654321098765432

2️⃣ index.js

import { config } from "dotenv";
import { NovaClient } from "novacordjs";

config();

const client = new NovaClient();

await client.loadCommands("./commands");   // Commands laden
await client.deployCommands({              // Commands deployen
  clientId: process.env.CLIENT_ID,
  guildId: process.env.GUILD_ID            // ohne = global deploy
});

client.start();                            // Token automatisch aus .env

3️⃣ Beispiel-Command: commands/ping.js

import { SlashCommandBuilder } from "discord.js";

export default {
  data: new SlashCommandBuilder()
    .setName("ping")
    .setDescription("Antwortet mit Pong!"),
  async execute(interaction, client) {
    await interaction.reply("🏓 Pong!");
  }
};

🔧 API-Überblick

  • new NovaClient(options?) → Erstellt den Bot-Client.
  • client.start(token?) → Startet den Bot (TOKEN aus .env, falls nicht angegeben).
  • client.loadCommands(dir = "./commands") → Lädt rekursiv alle Commands.
  • client.deployCommands({ clientId, guildId? }) → Deployt die geladenen Commands.
  • client.addHelpCommand() → Fügt automatisch ein /help-Command hinzu, das alle geladenen Befehle auflistet.

📋 Startmeldung (Konsole)

Beim erfolgreichen Start zeigt NovaCord eine tabellarische Übersicht:

  • Bot-Tag und ID
  • discord.js-Version
  • Anzahl Commands
  • Anzahl Guilds
  • WebSocket-Latenz

So erkennst du sofort, ob alles korrekt geladen wurde – ideal für Hoster, Docker oder Panels.


🧰 Troubleshooting

  • Kein Bot-Token gefunden!
    → Prüfe .env (TOKEN) oder übergib den Token direkt an start(token).

  • CLIENT_ID wird benötigt
    deployCommands() braucht zwingend die Client-ID deiner App.

  • Commands tauchen nicht auf
    → Stelle sicher, dass loadCommands() vor deployCommands() aufgerufen wurde und SlashCommandBuilder korrekt gesetzt ist.


🤝 Mitmachen

Pull Requests und Issues sind willkommen!
Bitte halte dich an klare Commit-Messages und einen respektvollen Umgangston. 🙂


📄 Lizenz

Dieses Projekt steht unter der MIT-Lizenz.

Star History