2019-10-15 20:51:07 +05:30
< h1 align = "center" > Node.js Telegram Bot API< / h1 >
2017-02-15 13:59:56 +09:00
2019-10-15 20:51:07 +05:30
< div align = "center" >
2015-10-10 18:28:21 +02:00
2019-10-15 20:51:07 +05:30
Node.js module to interact with the official [Telegram Bot API ](https://core.telegram.org/bots/api ).
2021-04-26 18:50:34 +02:00
2024-05-08 15:36:52 +02:00
[](https://core.telegram.org/bots/api)
2019-10-15 21:38:49 +05:30
[](https://www.npmjs.org/package/node-telegram-bot-api)
2019-10-15 20:51:07 +05:30
[](https://travis-ci.org/yagop/node-telegram-bot-api)
[](https://codecov.io/gh/yagop/node-telegram-bot-api)
[](https://telegram.me/node_telegram_bot_api)
2023-06-07 15:36:22 +02:00
[](https://t.me/+nc3A9Hs1S81mYzdk)
2019-10-15 20:51:07 +05:30
[](https://telegram.me/Yago_Perez)
< / div >
2015-06-29 22:37:38 +02:00
2022-08-15 21:44:44 +02:00
## 📦 Install
2017-01-11 18:18:24 +03:00
2020-04-30 20:54:29 +05:30
```sh
npm i node-telegram-bot-api
2015-06-29 22:19:19 +02:00
```
2022-08-15 21:44:44 +02:00
< br / >
> ✍️ **Note:** If you use Typescript you can install this package that contains type definitions for this library
>```sh
2022-08-24 22:11:22 +08:00
>npm install --save-dev @types/node -telegram-bot-api
2022-08-15 21:44:44 +02: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
});
```
2022-08-15 21:44:44 +02:00
## 📚 Documentation
2016-06-06 22:57:06 +02:00
2017-02-15 13:59:56 +09:00
* [Usage][usage]
* [Examples][examples]
2017-06-26 12:28:11 +03:00
* [Tutorials][tutorials]
2017-02-15 13:59:56 +09:00
* [Help Information][help]
2022-09-26 19:44:05 +02:00
* API Reference: ([api-release ](../master/doc/api.md ) / [development][api-dev] / [experimental][api-experimental])
2017-02-15 13:59:56 +09:00
* [Contributing to the Project][contributing]
2017-05-13 10:34:07 +03:00
* [Experimental Features][experimental]
2022-09-26 19:44:05 +02:00
_**Note**: Development is done against the **development** branch.
Code for the latest release resides on the **master** branch.
2017-05-13 10:34:07 +03:00
Experimental features reside on the **experimental** branch._
2016-06-06 22:57:06 +02:00
2022-08-15 21:44:44 +02:00
## 💭 Community
2016-10-04 00:05:20 +05:30
2017-12-20 13:48:29 +03:00
We thank all the developers in the Open-Source community who continuously
take their time and effort in advancing this project.
See our [list of contributors][contributors].
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
2019-10-15 20:51:07 +05:30
We also have a [Telegram group][tg-group] to discuss issues related to this library.
2017-11-18 13:18:50 -06:00
Some things built using this library that might interest you:
2016-10-04 00:05:20 +05:30
2017-11-18 13:18:50 -06:00
* [tgfancy ](https://github.com/GochoMugo/tgfancy ): A fancy, higher-level wrapper for Telegram Bot API
2017-01-11 18:18:24 +03:00
* [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
2017-04-28 12:26:43 +03:00
* [bot-brother ](https://github.com/SerjoPepper/bot-brother ): Node.js library to help you easily create telegram bots
2017-05-26 09:36:34 +02:00
* [redbot ](https://github.com/guidone/node-red-contrib-chatbot ): A Node-RED plugin to create telegram bots visually
2021-08-12 20:19:34 +02:00
* [node-telegram-keyboard-wrapper ](https://github.com/alexandercerutti/node-telegram-keyboard-wrapper ): A wrapper to improve keyboards structures creation through a more easy-to-see way (supports Inline Keyboards, Reply Keyboard, Remove Keyboard and Force Reply)
2022-06-21 20:29:24 +01:00
* [beetube-bot ](https://github.com/kodjunkie/beetube-bot ): A telegram bot for music, videos, movies, EDM tracks, torrent downloads, files and more.
2023-01-31 03:17:06 +03:00
* [telegram-inline-calendar ](https://github.com/VDS13/telegram-inline-calendar ): Date and time picker and inline calendar for Node.js telegram bots.
2023-05-03 11:29:58 +03:00
* [telegram-captcha ](https://github.com/VDS13/telegram-captcha ): Telegram bot to protect Telegram groups from automatic bots.
2016-10-04 00:05:20 +05:30
2022-07-18 08:41:31 +02:00
2022-08-15 21:44:44 +02:00
## 👥 Contributors
2022-07-18 08:41:31 +02:00
< p align = "center" >
< a href = "https://github.com/yagop/node-telegram-bot-api/graphs/contributors" >
< img src = "https://contrib.rocks/image?repo=yagop/node-telegram-bot-api" / >
< / a >
< / p >
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
2019-10-15 15:33:30 +05:30
Copyright © 2019 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
2017-06-26 12:28:11 +03:00
[tutorials]:https://github.com/yagop/node-telegram-bot-api/tree/master/doc/tutorials.md
2017-02-15 13:59:56 +09:00
[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
2017-05-13 10:34:07 +03:00
[api-experimental]:https://github.com/yagop/node-telegram-bot-api/tree/experimental/doc/api.md
2017-02-15 13:59:56 +09:00
[contributing]:https://github.com/yagop/node-telegram-bot-api/tree/master/CONTRIBUTING.md
2017-12-20 13:48:29 +03:00
[contributors]:https://github.com/yagop/node-telegram-bot-api/graphs/contributors
2017-05-13 10:34:07 +03:00
[experimental]:https://github.com/yagop/node-telegram-bot-api/tree/master/doc/experimental.md
2017-01-11 18:18:24 +03:00
[tg-channel]:https://telegram.me/node_telegram_bot_api
2023-06-09 21:37:52 +02:00
[tg-group]:https://t.me/+nc3A9Hs1S81mYzdk