You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
node-telegram-bot-api/README.md

3.4 KiB

Build Status Coverage Status

Node.js module to interact with official Telegram Bot API. A bot token is needed, to obtain one, talk to @botfather and create a new bot.

Both request method to obtain messages are implemented. To use standard polling, set polling: true on options. Notice that webHook will need a valid (not self signed) SSL certificate.

npm install node-telegram-bot-api
var TelegramBot = require('node-telegram-bot-api');

var token = 'YOUR_TELEGRAM_BOT_TOKEN';
// Setup polling way
var bot = new TelegramBot(token, {polling: true});
bot.on('message', function (msg) {
  var chatId = msg.chat.id;
  // photo can be: a file path, a stream or a Telegram file_id
  var photo = 'bot.gif';
  bot.sendPhoto(chatId, photo, {caption: "I'm a bot!"});
});

There are some other examples on examples.


Class: TelegramBot

NodeJS class for Telegram Bot API.

Support for WebHooks and long polling. Emits message when message arrives.

TelegramBot.getMe()

Returns basic information about the bot in form of a User object.

Returns: Promise

TelegramBot.setWebHook(url)

Specify a url to receive incoming updates via an outgoing webHook.

Parameters

url: String, URL

TelegramBot.getUpdates(timeout, limit, offset)

Use this method to receive incoming updates using long polling

Parameters

timeout: Number | String, Timeout in seconds for long polling.

limit: Number | String, Limits the number of updates to be retrieved.

offset: Number | String, Identifier of the first update to be returned.

Returns: Promise, Updates

TelegramBot.sendMessage(chatId, text, options)

Send text message.

Parameters

chatId: Number | String, Unique identifier for the message recipient

text: Sting, Text of the message to be sent

options: Object, Additional Telegram query options

Returns: Promise

TelegramBot.forwardMessage(chatId, fromChatId, messageId)

Forward messages of any kind.

Parameters

chatId: Number | String, Unique identifier for the message recipient

fromChatId: Number | String, Unique identifier for the chat where the original message was sent

messageId: Number | String, Unique message identifier

Returns: Promise

TelegramBot.sendPhoto(chatId, photo, options)

Send photo

Parameters

chatId: Number | String, Unique identifier for the message recipient

photo: String | stream.Stream, A file path or a Stream. Can also be a file_id previously uploaded

options: Object, Additional Telegram query options

Returns: Promise

TelegramBot.sendAudio(chatId, audio, options)

Send audio

Parameters

chatId: Number | String, Unique identifier for the message recipient

audio: String | stream.Stream, A file path or a Stream. Can also be a file_id previously uploaded.

options: Object, Additional Telegram query options

Returns: Promise