Socket
Socket
Sign inDemoInstall

node-telegram-bot-api

Package Overview
Dependencies
Maintainers
1
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-telegram-bot-api

Telegram Bot API


Version published
Weekly downloads
63K
decreased by-12.54%
Maintainers
1
Weekly downloads
 
Created
Source

Build Status Build status Coverage Status bitHound Score

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.

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('text', function (msg) {
  var chatId = msg.chat.id;
  // photo can be: a file path, a stream or a Telegram file_id
  var photo = 'cats.png';
  bot.sendPhoto(chatId, photo, {caption: 'Lovely kittens'});
});

There are some other examples on examples.

Events

Every time TelegramBot receives a message, it emits a message. Depending on which message was received, emits an event from this ones: text, audio, document, photo, sticker, video, voice, contact, location, new_chat_participant, left_chat_participant, new_chat_title, new_chat_photo, delete_chat_photo, group_chat_created. Its much better to listen a specific event rather than a message in order to stay safe from the content.


API Reference

TelegramBot

TelegramBot

Kind: global class
See: https://core.telegram.org/bots/api

new TelegramBot(token, [options])

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. Emits message when a message arrives.

ParamTypeDefaultDescription
tokenStringBot Token
[options]Object
[options.polling]Boolean | ObjectfalseSet true to enable polling or set options
[options.polling.timeout]String | Number4Polling time
[options.polling.interval]String | Number2000Interval between requests in miliseconds
[options.webHook]Boolean | ObjectfalseSet true to enable WebHook or set options
[options.webHook.key]StringPEM private key to webHook server
[options.webHook.cert]StringPEM certificate key to webHook server

telegramBot.getMe() ⇒ Promise

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

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#getme

telegramBot.setWebHook(url)

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

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#setwebhook

ParamTypeDescription
urlStringURL where Telegram will make HTTP Post. Leave empty to delete webHook.

telegramBot.getUpdates([timeout], [limit], [offset]) ⇒ Promise

Use this method to receive incoming updates using long polling

Kind: instance method of TelegramBot
Returns: Promise - Updates
See: https://core.telegram.org/bots/api#getupdates

ParamTypeDescription
[timeout]Number | StringTimeout in seconds for long polling.
[limit]Number | StringLimits the number of updates to be retrieved.
[offset]Number | StringIdentifier of the first update to be returned.

telegramBot.sendMessage(chatId, text, [options]) ⇒ Promise

Send text message.

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendmessage

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
textStringText of the message to be sent
[options]ObjectAdditional Telegram query options

telegramBot.forwardMessage(chatId, fromChatId, messageId) ⇒ Promise

Forward messages of any kind.

Kind: instance method of TelegramBot

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
fromChatIdNumber | StringUnique identifier for the chat where the original message was sent
messageIdNumber | StringUnique message identifier

telegramBot.sendPhoto(chatId, photo, [options]) ⇒ Promise

Send photo

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendphoto

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
photoString | stream.StreamA file path or a Stream. Can also be a file_id previously uploaded
[options]ObjectAdditional Telegram query options

telegramBot.sendAudio(chatId, audio, [options]) ⇒ Promise

Send audio

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendaudio

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
audioString | stream.StreamA file path or a Stream. Can also be a file_id previously uploaded.
[options]ObjectAdditional Telegram query options

telegramBot.sendDocument(chatId, A, [options]) ⇒ Promise

Send Document

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendDocument

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
AString | stream.Streamfile path or a Stream. Can also be a file_id previously uploaded.
[options]ObjectAdditional Telegram query options

telegramBot.sendSticker(chatId, A, [options]) ⇒ Promise

Send .webp stickers.

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendsticker

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
AString | stream.Streamfile path or a Stream. Can also be a file_id previously uploaded.
[options]ObjectAdditional Telegram query options

telegramBot.sendVideo(chatId, A, [options]) ⇒ Promise

Use this method to send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendvideo

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
AString | stream.Streamfile path or a Stream. Can also be a file_id previously uploaded.
[options]ObjectAdditional Telegram query options

telegramBot.sendVoice(chatId, voice, [options]) ⇒ Promise

Send voice

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendvoice

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
voiceString | stream.StreamA file path or a Stream. Can also be a file_id previously uploaded.
[options]ObjectAdditional Telegram query options

telegramBot.sendChatAction(chatId, action) ⇒ Promise

Send chat action. typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data.

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendchataction

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
actionStringType of action to broadcast.

telegramBot.getUserProfilePhotos(userId, [offset], [limit]) ⇒ Promise

Use this method to get a list of profile pictures for a user. Returns a UserProfilePhotos object.

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#getuserprofilephotos

ParamTypeDescription
userIdNumber | StringUnique identifier of the target user
[offset]NumberSequential number of the first photo to be returned. By default, all photos are returned.
[limit]NumberLimits the number of photos to be retrieved. Values between 1—100 are accepted. Defaults to 100.

telegramBot.sendLocation(chatId, latitude, longitude, [options]) ⇒ Promise

Send location. Use this method to send point on the map.

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#sendlocation

ParamTypeDescription
chatIdNumber | StringUnique identifier for the message recipient
latitudeFloatLatitude of location
longitudeFloatLongitude of location
[options]ObjectAdditional Telegram query options

telegramBot.getFile(fileId) ⇒ Promise

Get file. Use this method to get basic info about a file and prepare it for downloading. Attention: link will be valid for 1 hour.

Kind: instance method of TelegramBot
See: https://core.telegram.org/bots/api#getfile

ParamTypeDescription
fileIdStringFile identifier to get info about

telegramBot.getFileLink(fileId) ⇒ Promise

Get link for file. Use this method to get link for file for subsequent use. Attention: link will be valid for 1 hour.

This method is a sugar extension of the (getFile)[#getfilefileid] method, which returns just path to file on remote server (you will have to manually build full uri after that).

Kind: instance method of TelegramBot
Returns: Promise - promise Promise which will have fileURI in resolve callback
See: https://core.telegram.org/bots/api#getfile

ParamTypeDescription
fileIdStringFile identifier to get info about

telegramBot.downloadFile(fileId, downloadDir) ⇒ Promise

Downloads file in the specified folder. This is just a sugar for (getFile)[#getfilefiled] method

Kind: instance method of TelegramBot
Returns: Promise - promise Promise, which will have filePath of downloaded file in resolve callback

ParamTypeDescription
fileIdStringFile identifier to get info about
downloadDirStringAbsolute path to the folder in which file will be saved

Keywords

FAQs

Package last updated on 26 Sep 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc