node.js client for the Telegram messenger Bot API
Install via npm:
$ npm install telegram-bot-client --saveImportant: Please note that this client does not and will not support automated polling or listening to webhooks. This can be done much better by the application running the bot.
Instantiate a new client using your bot's token:
var TelegramBotClient = require('telegram-bot-client');
var client = new TelegramBotClient(MY_TOKEN);
client.sendMessage(CHAT_ID, 'I\'m a bot, so what?');All methods on the client are chainable and will wait for the previous operations to finish:
client
.sendMessage(CHAT_ID, 'Hi!')
.sendMessage(CHAT_ID, 'How are you?')
.sendMessage(CHAT_ID, 'Be right back!')
.delay(25000)
.sendMessage(CHAT_ID, 'Back!')
.sendMessage(CHAT_ID, 'Wait, I want to show you something, where is it?')
.delay(7500)
.sendPhoto(CHAT_ID, SOME_URL_POINTING_TO_A_PHOTO)
.sendMessage(CHAT_ID, 'How do you like it?')
.catch(function(err){
// all errors ocurring in the above call chain
// will be passed down to this handler
console.log(err);
});If you want to consume the response you can unwrap the chain using the .promise() method:
client
.sendMessage(CHAT_ID, 'Did this really work?')
.promise()
.then(function(response){
console.log(response);
}, function(err){
console.log(err);
});All methods are following the same convention: Required arguments are passed seperately, all optional parameters can be wrapped into an object and be supplied as the method's last argument:
var messageText = 'Look at this: https://www.youtube.com/watch?v=qb_hqexKkw8';
var opts = { disable_web_page_preview: true };
client.sendMessage(CHAT_ID, messageText, opts);All methods described by the API docs are present on the client.
gets info on the bot
gets updates (messages) sent to the bot
gets a user's profile photos
- userId: the user's id
sets or removes the webhook url to use
- url: the url, to remove the webhook pass
''
sends a message
- chatId: the chat's id
- text: the message to send
forwards a message
- chatId: the chat's id
- fromChatId: the id of the chat the message is forwarded from
- messageId: the message's id
sends a photo
- chatId: the chat's id
- photoReference: this can be a local file path, a URL or a telegram file id
sends audio
- chatId: the chat's id
- audioReference: this can be a local file path, a URL or a telegram file id
sends a document
- chatId: the chat's id
- documentReference: this can be a local file path, a URL or a telegram file id
sends a sticker
- chatId: the chat's id
- stickerReference: this can be a local file path, a URL or a telegram file id
sends video
- chatId: the chat's id
- videoReference: this can be a local file path, a URL or a telegram file id
sends a location
- chatId: the chat's id
- lat: latitude
- lon: longitude
sends a chat action
- chatId: the chat's id
- action: the action to send
pauses the queue for the give duration
- duration: the time to pause in ms
unwraps the chain and returns a promise for the last operation
exposes the last operation's result via a promise interface
- successHandler: handler being passed the result
- errorHandler: handler being passed the error
handles errors occured in the chain
- handler: error handler function
MIT © Frederik Ring