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

aryabot-sdk

v1.0.2

Published

SDK oficial de AryaBot Academy - Crea y publica nodos personalizados para Discord bots en español

Readme

aryabot-sdk

SDK oficial para crear y publicar nodos personalizados para AryaBot.

Instalación

npm install -g aryabot-sdk

Inicio Rápido

1. Crear un nuevo pack

aryabot init mi-pack-economia
cd mi-pack-economia

2. Crear un nodo personalizado

aryabot create node NodoBalance

3. Implementar tu nodo

import { CustomNode, ExecutionContext } from 'aryabot-sdk';

export class NodoBalance extends CustomNode {
  constructor() {
    super({
      id: 'economia-balance',
      name: 'Obtener Balance',
      description: 'Obtiene el balance del usuario del sistema de economía',
      category: 'economia',
      icon: '💰',
      inputs: [
        { name: 'userId', type: 'string', required: true }
      ],
      outputs: [
        { name: 'balance', type: 'number' }
      ]
    });
  }

  async execute(inputs, config, context: ExecutionContext) {
    const balance = await context.db.get(`economia:${inputs.userId}`) || 0;
    return { balance };
  }
}

4. Construir tu pack

// src/index.ts
import { PackBuilder } from 'aryabot-sdk';
import { NodoBalance } from './nodes/NodoBalance';

export default new PackBuilder({
  name: 'Pack de Economía',
  description: 'Sistema completo de economía para servidores de Discord',
  price: 4.99,
  category: 'economia',
  version: '1.0.0'
})
  .addNode(new NodoBalance())
  .setFeatures([
    'Sistema de moneda virtual',
    'Seguimiento de balance',
    'Fácil de usar'
  ])
  .addScreenshot('./screenshots/balance.png')
  .setDocumentation('./README.md')
  .build();

5. Probar tu pack

aryabot test

6. Iniciar sesión en AryaBot

aryabot login
# Ingresa tu API key desde https://aryabot.com/creator/sdk

7. Publicar en el marketplace

aryabot publish

Comandos CLI

aryabot init <nombre-proyecto>

Crea un nuevo proyecto de pack con código base.

aryabot create node <NombreNodo>

Genera un nuevo archivo de nodo desde plantilla.

aryabot test

Ejecuta pruebas y valida tu pack.

aryabot login

Autentícate con tu API key.

aryabot publish

Publica tu pack en el marketplace.

aryabot stats

Ve tus estadísticas de ventas y ganancias.

Referencia de API

CustomNode

Clase base para todos los nodos personalizados.

abstract class CustomNode {
  constructor(config: NodeConfig);
  abstract execute(
    inputs: Record<string, any>,
    config: Record<string, any>,
    context: ExecutionContext
  ): Promise<Record<string, any>>;
}

PackBuilder

Constructor para crear packs.

class PackBuilder {
  constructor(metadata: PackMetadata);
  addNode(node: CustomNode): PackBuilder;
  setFeatures(features: string[]): PackBuilder;
  addScreenshot(path: string): PackBuilder;
  setDocumentation(doc: string): PackBuilder;
  build(): Pack;
}

ExecutionContext

Contexto proporcionado a los nodos en tiempo de ejecución.

interface ExecutionContext {
  message: {
    content: string;
    author: { id: string; username: string; };
    guild: { id: string; name: string; };
    channel: { send: (content) => Promise<any>; };
    reply: (content) => Promise<any>;
  };
  db: {
    get: (key: string) => Promise<any>;
    set: (key: string, value: any) => Promise<void>;
    delete: (key: string) => Promise<void>;
  };
  bot: {
    id: string;
    username: string;
  };
}

Ejemplos

Consulta el directorio de ejemplos para ejemplos completos de packs:

  • Pack de Economía
  • Pack de Moderación
  • Pack de Música
  • Pack de Utilidades

Seguridad

El SDK valida todo el código por seguridad:

  • ❌ No eval() o Function()
  • ❌ No acceso al sistema de archivos
  • ❌ No procesos hijos
  • ✅ Solo módulos seguros permitidos

Soporte

  • Documentación: https://aryabot.es/docs/sdk
  • Discord: https://discord.gg/QJTc8hwJkb
  • Email: [email protected]

Licencia

MIT © AryaBot Academy