telejs-framework
v1.0.3
Published
TeleJS is a framework built in top of node-telegram-bot-api to help you build telegram bots more flexible and powerful.
Downloads
13
Maintainers
Readme
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