telegraf-command-handler
TypeScript icon, indicating that this package has built-in type declarations

1.0.8 • Public • Published

Telegraf Command Handler

A command handler for Telegraf, which is similar to the command handler for Discord.js and such. The goal is that all commands are not in 1 file... But divided into several different files.

Installation

npm i telegraf-command-handler
# or
yarn add telegraf-command-handler
# or
pnpm add telegraf-command-handler

Usage

/* main file */
const { Telegraf } = require('telegraf');
const { TelegrafCommandHandler } = require('telegraf-command-handler');
const path = require('path');

const bot = new Telegraf('Your bot token');

const CommandHandler = new TelegrafCommandHandler({
    path: path.resolve() + "/path/to/dir",
});

bot.use(CommandHandler.load());

// ...bot.launch()
/* command file */
module.exports = {
    name: "start",
    async execute(ctx) {
        ctx.reply("hello world");
    }
}

Constructor Options

interface Options {
    /* path to your command directory */
    path: string;
    /* a function that executed when error comes from your command file */
    errorHandling: (ctx: Context, error: any) => any | undefined;
}

Command Example

module.exports = {
    /* command name (it will executed like /echo) */
    name: "echo",
    /* optional command aliases (can be string or Array<string>) */
    aliases: ["say"],
    /* command code */
    async execute(ctx, args) {
        ctx.reply(args.join(" "))
    }
}

Package Sidebar

Install

npm i telegraf-command-handler

Weekly Downloads

1

Version

1.0.8

License

MIT

Unpacked Size

8.45 kB

Total Files

6

Last publish

Collaborators

  • jastinlt