2017-02-15 13:59:56 +09:00
# Node.js Telegram Bot API
[](https://core.telegram.org/bots/api)
[](https://travis-ci.org/yagop/node-telegram-bot-api)
[](https://ci.appveyor.com/project/yagop/node-telegram-bot-api/branch/master)
[](https://coveralls.io/r/yagop/node-telegram-bot-api?branch=master)
[](https://www.bithound.io/github/yagop/node-telegram-bot-api)
[](https://telegram.me/node_telegram_bot_api)
[](https://telegram.me/Yago_Perez)
2015-10-10 18:28:21 +02:00
Node.js module to interact with official [Telegram Bot API ](https://core.telegram.org/bots/api ). A bot token is needed, to obtain one, talk to [@botfather ](https://telegram.me/BotFather ) and create a new bot.
2015-06-29 22:37:38 +02:00
2017-02-15 13:59:56 +09:00
## Install
2017-01-11 18:18:24 +03:00
2017-02-15 13:59:56 +09:00
```bash
npm install --save node-telegram-bot-api
2015-06-29 22:19:19 +02:00
```
2017-02-15 13:59:56 +09:00
## Usage
2017-01-11 18:18:24 +03:00
2015-06-29 22:19:19 +02:00
```js
2017-02-15 13:59:56 +09:00
const TelegramBot = require('node-telegram-bot-api');
2015-06-29 22:19:19 +02:00
2016-11-11 16:54:04 +03:00
// replace the value below with the Telegram token you receive from @BotFather
2017-02-15 13:59:56 +09:00
const token = 'YOUR_TELEGRAM_BOT_TOKEN';
2015-10-10 18:09:25 +02:00
2016-11-11 16:54:04 +03:00
// Create a bot that uses 'polling' to fetch new updates
2017-02-15 13:59:56 +09:00
const bot = new TelegramBot(token, {polling: true});
2016-11-11 16:54:04 +03:00
// Matches "/echo [whatever]"
2017-02-15 13:59:56 +09:00
bot.onText(/\/echo (.+)/, (msg, match) => {
2016-11-11 16:54:04 +03:00
// 'msg' is the received Message from Telegram
// 'match' is the result of executing the regexp above on the text content
// of the message
2017-02-15 13:59:56 +09:00
const chatId = msg.chat.id;
const resp = match[1]; // the captured "whatever"
2016-11-11 16:54:04 +03:00
// send back the matched "whatever" to the chat
bot.sendMessage(chatId, resp);
2015-10-10 18:09:25 +02:00
});
2016-11-11 16:54:04 +03:00
// Listen for any kind of message. There are different kinds of
// messages.
2017-02-15 13:59:56 +09:00
bot.on('message', (msg) => {
const chatId = msg.chat.id;
2016-11-11 16:54:04 +03:00
// send a message to the chat acknowledging receipt of their message
2017-02-15 13:59:56 +09:00
bot.sendMessage(chatId, 'Received your message');
2015-06-29 22:19:19 +02:00
});
```
2017-01-11 18:18:24 +03:00
## Documentation
2016-06-06 22:57:06 +02:00
2017-02-15 13:59:56 +09:00
* [Usage][usage]
* [Examples][examples]
* [Help Information][help]
* API Reference ([release][api-release] / [development][api-dev])
* [Contributing to the Project][contributing]
2016-06-06 22:57:06 +02:00
2017-01-11 18:18:24 +03:00
_**Note**: Development is done against the **master** branch. Code for the latest release
resides on the **release** branch._
2016-06-06 22:57:06 +02:00
2017-02-15 13:59:56 +09:00
## Community
2016-10-04 00:05:20 +05:30
2017-01-11 18:18:24 +03:00
We have a [Telegram channel][tg-channel] where we post updates on
the Project. Head over and subscribe!
2016-10-04 00:05:20 +05:30
2017-01-11 18:18:24 +03:00
Some things built using this library, and might interest you:
2016-10-04 00:05:20 +05:30
2017-01-11 18:18:24 +03:00
* [tgfancy ](https://github.com/GochoMugo/tgfancy ): A Fancy, Higher-Level Wrapper for Telegram Bot API
* [node-telegram-bot-api-middleware ](https://github.com/idchlife/node-telegram-bot-api-middleware ): Middleware for node-telegram-bot-api
2017-01-20 15:11:16 +03:00
* [teleirc ](https://github.com/FruitieX/teleirc ): A simple Telegram ↔ IRC gateway
2016-10-04 00:05:20 +05:30
2017-02-15 13:59:56 +09:00
## License
2016-10-22 16:01:34 +05:30
2017-01-11 18:18:24 +03:00
**The MIT License (MIT)**
2016-10-22 16:01:34 +05:30
2017-02-15 13:59:56 +09:00
Copyright (c) 2017 Yago
2017-01-06 21:03:10 +03:00
2017-02-15 13:59:56 +09:00
[usage]:https://github.com/yagop/node-telegram-bot-api/tree/master/doc/usage.md
[examples]:https://github.com/yagop/node-telegram-bot-api/tree/master/examples
[help]:https://github.com/yagop/node-telegram-bot-api/tree/master/doc/help.md
[api-dev]:https://github.com/yagop/node-telegram-bot-api/tree/master/doc/api.md
[api-release]:https://github.com/yagop/node-telegram-bot-api/tree/release/doc/api.md
[contributing]:https://github.com/yagop/node-telegram-bot-api/tree/master/CONTRIBUTING.md
2017-01-11 18:18:24 +03:00
[tg-channel]:https://telegram.me/node_telegram_bot_api