telejs-framework
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

TeleJS

TeleJS is a framework built in top of node-telegram-bot-api to help you build telegram bots more flexible and powerful.

TeleJS is pretty new, expect bugs!

@TeleJS Alpha v1.0.0

Guide

Creating a client for our bot

const { TeleClient } = require("telejs-framework");

const client = new TeleClient("token", {
  owners: ["owner_id"], // not required
});

Creating a command handler

const { TeleClient, CommandHandler } = require("telejs-framework");

const client = new TeleClient("token", {
  owners: ["owner_id"], // not required
});

const commandHandler = new CommandHandler(client, {
  prefix: "!", // default is / which used by telegram but telejs handles others too!
  directory: "./commands",
});
commandHandler.loadCommands();

Creating a command
Command files must be inside the directory path specified inside CommandHandler options.

const { Command } = require("telejs-framework");

class Ping extends Command {
  constructor() {
    super({
      name: "ping", // Command name
      aliases: ["p"], // Other ways to call the command (aka aliases)
      description: "Ping pong command", // Command description
      category: "general", // Command categorizing to help with organization
    });
  }

  async execute(message) {
    return this.client.sendMessage(message.chat.id, "Pong!");
  }
}

module.exports = Ping;

Creating a listener handler

const {
  TeleClient,
  CommandHandler,
  ListenerHandler,
} = require("telejs-framework");

const client = new TeleClient("token", {
  owners: ["owner_id"], // not required
});

const commandHandler = new CommandHandler(client, {
  prefix: "!", // default is / which used by telegram but telejs handles others too!
  directory: "./commands",
});
const listenerHandler = new ListenerHandler(client, {
  directory: "./listeners",
});
listenerHandler.setEmitters({
  commandHandler,
}); // by setting emitters, you can handle events emitted outside of the TeleClient!
listenerHandler.loadListeners(); // You have to load listeners before command handler so you can handle load event emitted by CommandHandler when a command loaded!
commandHandler.loadCommands();

Creating a listener
Listener files must be inside the directory path specified inside ListenerHandler options.

const { Listener } = require("telejs-framework");

class MessageListener extends Listener {
  constructor() {
    super({
      name: "message", // listener name NOT THE EVENT TO LISTEN FOR.
      event: "message", // event to listen for
      emitter: "client", // emitter to listen at (client is loaded by default!)
      once: false,
    });
  }

  async execute(message) {
    console.log(message);
  }
}

module.exports = MessageListener;

More detailed guide and docs will be available soon!

Contact

Github repo is coming with the next update!
Discord Server
Telegram

Dependents (1)

Package Sidebar

Install

npm i telejs-framework

Weekly Downloads

11

Version

1.0.3

License

ISC

Unpacked Size

67.5 kB

Total Files

79

Last publish

Collaborators

  • h1dr4x