Package Exports
- node-telegram-bot-api
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-telegram-bot-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-apivar 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 a url to receive incoming updates via an outgoing webHook.
Params:
- String url URL
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
- Sting 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_idpreviously 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_idpreviously uploaded. - Object [options] Additional Telegram query options
Return:
- Promise