简介
Node-telegram-bot-api 是一款基于 Node.js 的 Telegram Bot API 封装的 npm 包,它提供了简单、易用的方法使得开发者能够快速地开发和部署自己的 Telegram Bot。
在这篇文章中,我们将会深入学习如何使用这个 npm 包来创建自己的 Telegram Bot,并且教会你通过一些简单的例子来了解它的使用方法。
安装
如果你还没有安装 Node.js,你需要先从官方网站下载并安装:https://nodejs.org/en/
安装 npm 包 node-telegram-bot-api,只需要在终端中输入以下命令:
npm install node-telegram-bot-api
安装完成后,你就可以在你的项目中使用它了。
创建 Telegram Bot
首先,你需要创建一个 Telegram Bot。可以通过 Telegram 官网上的 BotFather 来创建。
创建完成后,你会获得一个 token,这个 token 是你的 Bot 的唯一标识,后面要用到。
Hello, World!
下面我们来写一个记录用户说了什么的小 demo。
首先,我们需要在代码里引入 node-telegram-bot-api。
const TelegramBot = require('node-telegram-bot-api');
然后,我们初始化 Bot:
const bot = new TelegramBot('YOUR_TOKEN', { polling: true });
你需要将 YOUR_TOKEN 替换成你自己 Bot 的 token。
我们使用 { polling: true } 来开启与 Telegram 服务器的长连接,以便及时处理用户的消息。
接下来,我们需要监听用户的消息:
bot.on('message', (msg) => { console.log(msg.text); });
这个代码块会在每次有用户发送消息时被调用,它会将用户的消息打印到终端。
完整代码如下:
const TelegramBot = require('node-telegram-bot-api'); const bot = new TelegramBot('YOUR_TOKEN', { polling: true }); bot.on('message', (msg) => { console.log(msg.text); });
保存并运行代码后,你可以在你的 Bot 和你自己的账户之间发送消息。你会看到终端里打印出了你所发送的消息。
回复用户
让我们来扩展一下上面的例子,让 Bot 回复用户。
我们可以使用 bot.sendMessage() 方法来发送消息。
bot.on('message', (msg) => { bot.sendMessage(msg.chat.id, `You said: ${msg.text}`); });
这个代码块会在 Bot 收到任何消息时被调用。它会发送一条消息告诉用户他说了什么。
完整代码如下:
const TelegramBot = require('node-telegram-bot-api'); const bot = new TelegramBot('YOUR_TOKEN', { polling: true }); bot.on('message', (msg) => { bot.sendMessage(msg.chat.id, `You said: ${msg.text}`); });
监听按钮
Telegram 除了支持文字消息之外,还支持用户点击按钮操作。下面我们来看一下如何监听按钮事件。
首先,我们需要为用户创建一个可以点击的按钮:
-- -------------------- ---- ------- ----- ------- - - ------------- ---------------- ---------------- - - - ----- ------ -------------- ----- -- - ----- ----- -------------- ---- -- - - -- -- ----------------------- --- --- ---- ---------- ---------
这个代码块会在 Bot 收到任何消息时被调用,它会发送一个带有两个按钮的消息。
用户点击按钮后,我们需要监听这个事件:
bot.on('callback_query', (query) => { const answer = (query.data === 'yes') ? '👍' : '👎'; bot.sendMessage(query.message.chat.id, answer); });
这个代码块会在用户点击按钮后被调用,它会根据用户点击的按钮来回复相应的结果。
完整代码如下:
-- -------------------- ---- ------- ----- ----------- - --------------------------------- ----- --- - --- ------------------------- - -------- ---- --- ----------------- ----- -- - ----- ------ - ------------ ----- ------- - - ------------- ---------------- ---------------- - - - ----- ------ -------------- ----- -- - ----- ----- -------------- ---- -- - - -- -- ----------------------- --- --- ---- ---------- --------- --- ------------------------ ------- -- - ----- ------ - ----------- --- ------ - ---- - ----- -------------------------------------- -------- ---
结语
在本文中,我们学习了如何使用 npm 包 node-telegram-bot-api,创建一个简单的 Telegram Bot 并回复用户的消息。
其中我们涉及到了监听用户消息、回复用户、监听按钮事件等基本功能。
Node-telegram-bot-api 还提供了许多高级功能,例如:发送图片、语音、视频等,可以通过查看文档和代码示例来深入了解它的使用方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64925