Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

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

  • 0.8.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
62K
decreased by-14.46%
Maintainers
1
Weekly downloads
 
Created
Source

Build Status Coverage Status Build 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.

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.


TelegramBot

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

See: https://core.telegram.org/bots/api

Params:

  • String token Bot Token
  • Object [options]
  • Boolean|Object [options.polling=false] Set true to enable polling
  • String|Number [options.polling.timeout=4] Polling time
  • Boolean|Object [options.webHook=false] Set true to enable WebHook
  • String [options.webHook.key] PEM private key to webHook server
  • String [options.webHook.cert] PEM certificate key to webHook server

getMe()

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

Return:

  • Promise

setWebHook(url)

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

See: https://core.telegram.org/bots/api#setwebhook

Params:

  • String url URL where Telegram will make HTTP Post. Leave empty to delete webHook.

getUpdates([timeout], [limit], [offset])

Use this method to receive incoming updates using long polling

See: https://core.telegram.org/bots/api#getupdates

Params:

  • Number|String [timeout] Timeout in seconds for long polling.
  • Number|String [limit] Limits the number of updates to be retrieved.
  • Number|String [offset] Identifier of the first update to be returned.

Return:

  • Promise Updates

sendMessage(chatId, text, [options])

Send text message.

See: https://core.telegram.org/bots/api#sendmessage

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String text Text of the message to be sent
  • Object [options] Additional Telegram query options

Return:

  • Promise

forwardMessage(chatId, fromChatId, messageId)

Forward messages of any kind.

Params:

  • Number|String chatId Unique identifier for the message recipient
  • Number|String fromChatId Unique identifier for the chat where the original message was sent
  • Number|String messageId Unique message identifier

Return:

  • Promise

sendPhoto(chatId, photo, [options])

Send photo

See: https://core.telegram.org/bots/api#sendphoto

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String|stream.Stream photo A file path or a Stream. Can also be a file_id previously uploaded
  • Object [options] Additional Telegram query options

Return:

  • Promise

sendAudio(chatId, audio, [options])

Send audio

See: https://core.telegram.org/bots/api#sendaudio

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String|stream.Stream audio A file path or a Stream. Can also be a file_id previously uploaded.
  • Object [options] Additional Telegram query options

Return:

  • Promise

sendDocument(chatId, A, [options])

Send Document

See: https://core.telegram.org/bots/api#sendDocument

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String|stream.Stream A file path or a Stream. Can also be a file_id previously uploaded.
  • Object [options] Additional Telegram query options

Return:

  • Promise

sendSticker(chatId, A, [options])

Send .webp stickers.

See: https://core.telegram.org/bots/api#sendsticker

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String|stream.Stream A file path or a Stream. Can also be a file_id previously uploaded.
  • Object [options] Additional Telegram query options

Return:

  • Promise

sendVideo(chatId, A, [options])

Send video files, Telegram clients support mp4 videos (other formats may be sent whith sendDocument)

See: https://core.telegram.org/bots/api#sendvideo

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String|stream.Stream A file path or a Stream. Can also be a file_id previously uploaded.
  • Object [options] Additional Telegram query options

Return:

  • Promise

sendChatAction(chatId, action)

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.

See: https://core.telegram.org/bots/api#sendchataction

Params:

  • Number|String chatId Unique identifier for the message recipient
  • String action Type of action to broadcast.

Return:

  • Promise

getUserProfilePhotos(userId, [offset], [limit])

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

See: https://core.telegram.org/bots/api#getuserprofilephotos

Params:

  • Number|String userId Unique identifier of the target user
  • Number [offset] Sequential number of the first photo to be returned. By default, all photos are returned.
  • Number [limit] Limits the number of photos to be retrieved. Values between 1—100 are accepted. Defaults to 100.

Return:

  • Promise

sendLocation(chatId, latitude, longitude, [options])

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

See: https://core.telegram.org/bots/api#sendlocation

Params:

  • Number|String chatId Unique identifier for the message recipient
  • Float latitude Latitude of location
  • Float longitude Longitude of location
  • Object [options] Additional Telegram query options

Return:

  • Promise

Keywords

FAQs

Package last updated on 12 Jul 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