Skip to content

LuizHenriqueKS/z-telbot

Repository files navigation

z-telbot

Client for telegram bots

Installation

npm i z-telbot

Usage

Javascript

const { ZTelBot } = require('z-telbot');

Typescript

import { ZTelBot } from 'z-telbot';

Example

const telBot = new ZTelBot({ token: getApiToken() });

telBot.addTextMessageListener(evt => {
  console.log(`[${evt.chat.name} (ID: ${evt.chat.id})] ${evt.from?.name}(ID: ${evt.from?.id}): ${evt.message?.text}`);
});

telBot.addCommandListener('hi', evt => {
  evt.reply().text({ text: `Hi: ${evt.command.argsText}` });
});

telBot.addDefaultCommandListener(evt => {
  if (!evt.commandFound) {
    evt.reply().text({ text: `Comando inválido: ${evt.command.commandName}` });
  }
});

telBot.listenUpdates().then((botInfo) => {
  console.log(`Bot iniciado com sucesso: ${botInfo.username}`);
});

Summary

constructor getMe getUpdates sendMessage sendAudio listenUpdates addUpdateListener addMessageListener addSentMessageListener addTextMessageListener addDefaultCommandListener addCommandListener removeUpdateListener removeSentMessageListener removeMessageListener removeTextMessageListener removeDefaultCommandListener removeCommandListener sendCommands setMyCommands getMyCommands

constructor

const telBot = new ZTelBot({token: '...'});

Parameters:

{
  token!: string;
}

getMe

const botInfo = await telBot.getMe();
console.log(botInfo);

getUpdates

const updates = await telBot.getUpdates();
console.log(updates);

Parameters:

{
  offset?: number;
  limit?: number;
  timeout?: number;
  allowedUpdates?: string[];
}

sendMessage

const messageInfo = telBot.sendMessage({text: 'Oi', chatId: 1234, parseMode: 'MarkdownV2'});
console.log(messageInfo);

Parameters:

{
  chatId!: number | string;
  text!: string;
  parseMode?: ParseMode;
  entities?: MessageEntity[];
  disableWebPagePreview?: boolean;
  disableNotification?: boolean;
  replyToMessageId?: number;
  allowSendingWithoutReply?: boolean;
  replyMarkup?: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply;
}

sendAudio

const messageInfo = telBot.sendAudio({audio: fileFromPath('song.mp3')});
console.log(messageInfo);

Parameters:

{
  chatId!: number | string;
  audio!: InputFile | string;
  duration?: number;
  width?: number;
  height?: number;
  thumb?: InputFile | string;
  caption?: string;
  parseMode?: ParseMode;
  captionEntities?: MessageEntity[];
  disableNotification?: boolean;
  allowSendingWithoutReply?: boolean;
  replyMarkup?: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply;
}

listenUpdates

telBot.listenUpdates().then((botInfo) => {
  console.log(`Bot iniciado com sucesso: ${botInfo.username}`);
});

Parameters:

{
  once?: boolean;
  offset?: number;
  limit?: number;
  timeout?: number;
  allowedUpdates?: string[];
  skipFirstBatch?: boolean;
  delay?: number;
}

addUpdateListener

telBot.addUpdateListener((evt)=>{
  console.log(evt);
});

addMessageListener

telBot.addMessageListener((evt)=>{
  console.log(evt);
});

addSentMessageListener

telBot.addSentMessageListener((evt)=>{
  console.log(evt);
});

addTextMessageListener

telBot.addSentMessageListener((evt)=>{
  console.log(evt.text);
});

addDefaultCommandListener

telBot.addCommandListener('hi', (evt)=>{
  evt.reply().text({text: 'Hi'});
});

telBot.addDefaultCommandListener((evt)=>{
  if (!evt.commandFound){
    evt.reply().text({text: `Invalid command: ${evt.command.commandName}`});
  }
});

addCommandListener

telBot.addCommandListener('hi', (evt)=>{
  evt.reply().text({text: 'Hi'});
});
const cmd = {command: 'hi', description: 'Send hi'};
telBot.addCommandListener(cmd, (evt)=>{
  evt.reply().text({text: 'Hi'});
});

Parameters:

{
  command!: string;
  hidden?: boolean;
  description?: string;
}

sendCommands

telBot.addCommandListener('test', (evt)=>{
  evt.reply().text({text: 'Test'});
}

const cmd = {command: 'hi', description: 'Send hi'};
telBot.addCommandListener(cmd, (evt)=>{
  evt.reply().text({text: 'Hi'});
});

telBot.sendCommands();
telBot.addCommandListener('hi', (evt)=>{
  evt.reply().text({text: 'Hi'});
});

telBot.addDefaultCommandListener((evt)=>{
  if (evt.command.commandName==='test'){
    evt.reply().text({text: 'Test'});
  }
});

telBot.sendCommands([{command: 'test', description: 'Test'}]);

removeListener

const listenerId = telBot.addCommandListener('test', (evt)=>{
  evt.reply().text({text: 'Test'});
});
telBot.removeCommandListener(listenerId);

getMyCommands

const commands: BotCommand[] = await telBot.getMyCommands();
console.log(commands);

setMyCommands

telBot.setMyCommands([{
  command: 'hi'
  description: 'Send hi'
}]);

About

Client for telegram bots

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published