Slimbot
A fuss-free, thin wrapper around Telegram Bot API for Node.js. No frills.
Updated for Bot API 3.2, allowing your bot to police chat groups and handle stickers/sticker sets.
Resources
Getting started
npm i slimbot
const Slimbot = require('slimbot');
const slimbot = new Slimbot(process.env['TELEGRAM_BOT_TOKEN']);
slimbot.on('message', message => {
slimbot.sendMessage(message.chat.id, 'Message received');
});
slimbot.startPolling();
Now go ahead and type a message to your bot in Telegram. It should reply you with 'Message received' in the chat.
All methods return a promise. This means you can inspect the returned objects if you want to:
slimbot.sendMessage('123456789', 'Message received')
.then(message => {
console.log(message);
});
In this case, the sendMessage
method returns a Message object as stated in the documentation.
You can also use callbacks instead of promises:
const Slimbot = require('./src/slimbot');
const slimbot = new Slimbot(process.env['TELEGRAM_BOT_TOKEN']);
function callback(err, obj) {
if (err) {
console.log(obj);
}
console.log(obj);
};
slimbot.on('message', message => {
slimbot.sendMessage(message.chat.id, 'Message received', callback);
});
slimbot.startPolling(callback);
Examples
Documentation (Wiki)
Learn more about the implementation details in the Wiki. Feel free to contribute to the Wiki or add more examples.
Contributing
The guiding principle for this library is to be as simple as possible. I put serious thought into adding features to guard against bloat. Nonetheless, I am very open to dialogue and contributions are most welcome.
If you have built a public bot using this library, send me a PM and I'll feature it here.