介绍
his4gram 是一个 Node.js 的 npm 包,它可以让你方便地使用 Telegram Bot API 进行机器人开发。通过 his4gram,你可以创建一个 Telegram 机器人,然后根据用户输入进行自动回复、文件上传、后台处理等多种操作。
his4gram 有一些优点:
- 很容易上手,即使你之前没有使用过 Telegram Bot API。
- 提供了多种快捷方法去发送消息、发送图片、发送文件等等。
- 可以方便地进行用户认证、管理等等操作。
在本篇文章中,将介绍如何通过 npm 包 his4gram 来开发一个 Telegram 机器人,并在其中加入自定义的功能。
安装
首先,你需要在自己的电脑上安装 Node.js。然后,在命令行中执行下面的命令安装 his4gram:
npm install his4gram
创建 bot
使用 his4gram 创建一个 Telegram 机器人非常简单。你需要在 Telegram 上找到 BotFather 用户,并且跟它创建一个机器人。在机器人创建完成之后,你会收到一个 token,将这个 token 保存在代码中。
下面是代码示例:
-- -------------------- ---- ------- ----- ----------- - -------------------- -- ------- --- ----- ----- ---- --- -------- ----- --- ------- ---- ---------- ----- ----- - -------------------------- -- ---------- --- ----- --- - --- ------------------ - -------- ---- --- -- ----- --- --- ----------------- ----- -- - ---------------------------- ------ ------------------------- ---
由于本例中使用的是长轮询的方式来接受消息,因此在 bot 实例化时使用了 { polling: true }
来设置。
上述代码中,当我们收到用户发送的消息时,我们向对方回复“Hello”并附带他们的名字。虽然这很简单,但它确实是一个完整的机器人应用程序。当我们运行这个应用时,我们将能够接收与发送消息。
发送消息
his4gram 提供了许多方法来协助我们进行交互,并向用户发送消息、文件、媒体等。
下面是一个示例,我们将向用户发送一张图片:
bot.on('message', (msg) => { bot.sendPhoto(chat_id, 'path_to_photo'); });
chat_id
参数是我们要发送图片的用户 ID,path_to_photo
参数是图片的本地路径。
同样的,我们也可以发送音频:
bot.on('message', (msg) => { bot.sendAudio(chat_id, 'path_to_audio'); });
发送视频:
bot.on('message', (msg) => { bot.sendVideo(chat_id, 'path_to_video'); });
发送文本消息:
bot.on('message', (msg) => { bot.sendMessage(chat_id, 'Hello World!'); });
还有更多的发送消息方法,his4gram 的文档之中可以获取?
接收消息
his4gram 允许我们非常简单地接收用户发来的消息。我们只需要添加一个事件监听器:
bot.on('message', (msg) => { console.log(msg); if (msg.text === 'ping') { bot.sendMessage(chat_id, 'pong'); } });
上述代码将接收用户发来的消息,如果消息内容为“ping”,则回复一个“pong”。
同样的,我们也可以监听其他类型的事件,比如接收 event、location 等。
自定义键盘
有时候,我们需要自定义一个键盘,让用户可以更方便地进行交互。
下面是一个自定义键盘的示例:
-- -------------------- ---- ------- ----------------- ----- -- - ------------------------ ------- --- -- --- ----------- - ------------- - --------- - -------- --- ------- ---- -------- --- ------- ---- -- ---------------- ----- ------------------ ----- -- --- ---
上述代码中,我们通过 reply_markup
来定义了一个键盘,其中包含了四个选项。我们还设置了键盘的一些属性,比如调整大小、显示一次等。
结论
在本文中,你学习了如何使用 his4gram 包来创建一个 Telegram 机器人,并实现了自动回复、发送消息、接收消息以及自定义键盘等功能。当然,你可以使用他的各种方法完善你的应用。
同时,his4gram 的同名作者 huwanlai 也提供了一份完整的中文文档,可供参考和学习。如有疑问,欢迎提供 issue 与作者留言。
祝你在进行机器人开发时,能够顺利!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005585581e8991b448d58ba