Open Source

Framework para crear bots de Telegram

Biblioteca moderna y ligera para construir bots de Telegram con Node.js. API intuitiva, descargas avanzadas y rendimiento optimizado.

Características Principales

Todo lo que necesitas para construir bots profesionales

API Simple

Sintaxis clara y expresiva para definir comandos, callbacks y middleware de forma intuitiva.

Arquitectura Modular

Organiza tu codigo en modulos separados. Carga automatica de comandos y callbacks.

Descargas Avanzadas

Descarga con progreso en tiempo real, cancellation y descarga en lote multi-archivo.

Markdown Personalizado

Soporte completo para negrita, cursiva, codigo y links en mensajes.

FFmpeg Integrado

Genera thumbnails de video y analiza contenido multimedia.

Middleware

Sistema de middleware estilo Express para logging, auth y manejo de errores.

Sesiones Persistentes

Guarda y restaura el estado del usuario automaticamente.

Manejo de Errores

Reintentos automaticos en FloodWait y manejo robusto de excepciones.

Botones Inline

Crea keyboards inline y maneja callbacks de forma sencilla.

Instalación

Instálalo directamente desde npm

npm install zerogramjs

Ejemplo Rápido

En solo minutos tienes un bot funcionando

bot.js JavaScript
const Zerogram = require('./zerogram');

// Inicializar el bot
const bot = new Zerogram(
    API_ID,
    API_HASH,
    'bot:TOKEN'
);

await bot.init();

// Comando simple
bot.command('start', async (ctx) => {
    await ctx.reply('Hola! Soy tu bot');
});

// Comando con argumentos
bot.command('echo', async (ctx, args) => {
    await ctx.reply(args.join(' '));
});

// Callback query
bot.onCallback('like', async (ctx) => {
    await ctx.reply('Te gusto!');
});

Referencia API

Métodos principales del objeto Context

bot.init()

Inicializa la conexion con Telegram

ctx.reply(text, opts)

Responde al mensaje actual

ctx.send(text, opts)

Envia mensaje al chat

ctx.sendFile(file, opts)

Envia archivo al chat

ctx.downloadMedia(msg)

Descarga archivo con progreso

bot.command(name, fn)

Registra un comando

bot.onCallback(action, fn)

Maneja callbacks inline

bot.use(middleware)

Agrega middleware