aryabot-sdk
v1.0.2
Published
SDK oficial de AryaBot Academy - Crea y publica nodos personalizados para Discord bots en español
Maintainers
Readme
aryabot-sdk
SDK oficial para crear y publicar nodos personalizados para AryaBot.
Instalación
npm install -g aryabot-sdkInicio Rápido
1. Crear un nuevo pack
aryabot init mi-pack-economia
cd mi-pack-economia2. Crear un nodo personalizado
aryabot create node NodoBalance3. 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 test6. Iniciar sesión en AryaBot
aryabot login
# Ingresa tu API key desde https://aryabot.com/creator/sdk7. Publicar en el marketplace
aryabot publishComandos 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()oFunction() - ❌ 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
