在 Line Bot 的开发过程中,后端服务器是必不可少的一环。如果没有后端服务器,Line Bot 无法通过 Line Messaging API 与用户交互。为了简化开发流程,较为常见的做法是使用第三方的 Line Bot 服务器,而 @intocode-io/line-bot-server 就是依托于 Express JS 的一款 npm 包,它可以帮助前端开发者快速搭建起自己的 Line Bot 后端服务器。本文将详细介绍 @intocode-io/line-bot-server 的使用方法,包括安装、配置和示例代码等。
安装
使用 @intocode-io/line-bot-server 的前提是安装好 Node.js,然后通过 npm 命令安装 @intocode-io/line-bot-server,方法如下:
npm install @intocode-io/line-bot-server
安装完成后,可以在项目根目录下找到 package.json 文件中的 "dependencies" 部分可以看到 "@intocode-io/line-bot-server"。
配置
在使用 @intocode-io/line-bot-server 前,需要先配置好一些必要的信息。先在 Line Developers 控制台上创建一个新的 Messaging API Channel,此处不再赘述。
接下来,按照以下步骤在项目中引入 @intocode-io/line-bot-server 并进行配置:
-- -------------------- ---- ------- -- -- ---------------------------- ----- ------------- - ---------------------------------------- ----- ------- - ------------------- ----- ---------- - ----------------------- -- -- ---------------------- ------- --- ----- --- - ---------- --------------------------- ------------------------------- --------- ---- ---- --------------------- ---- ---------- ------ -------------- ------ ------------------- ------ -- ---------------- --------- -- --------- - ----- ------- ------- -- - ------------------------------------- - ----- ------- ----- -------- --- - - --- -- -- ------- -- ----- ---- - ---------------- -- ----- ---------------- -- -- ---------------------- -- ---- -----------
注意,此处的 channelId、channelSecret 和 channelAccessToken 需要替换为自己 Messaging API Channel 的信息。
配置好后,可以使用 ngrok 命令启动一个本地服务器,并将其映射到互联网上。命令如下:
ngrok http 8000
此时,自己的 Line Bot 的后端服务器即可通过 ngrok 提供的公网地址被访问到了。
示例代码
有了配置,下面就是一些处理 Line Bot 请求的示例代码。
发送文本消息
-- -------------------- ---- ------- - ------------- ------ ------- ---------- ------------ -------------- --------- - ------- ------- --------- ---------------- -- ---------- - ------- ------- ----- ----------------- ------- -------- - -
该请求表示用户发送了一条消息,并且其内容为 “Hello!”。那么我们可以在之前配置文件的 handlers 属性中,添加如下代码:
handlers: { text: (event, client) => { client.replyMessage(event.replyToken, { type: "text", text: "Hello!" }); } }
该代码内容表示当用户发送了一条文本消息之后,自动回复一条文本消息 "Hello!"。
发送图片消息
-- -------------------- ---- ------- - ------------- ------ ------- ---------- ------------ -------------- --------- - ------- ------- --------- ---------------- -- ---------- - ------- -------- ----- ---------------- - -
该请求表示用户发送了一张图片,并且其消息类型为 "image"。那么我们可以在之前配置文件的 handlers 属性中,添加如下代码:
handlers: { image: (event, client) => { client.replyMessage(event.replyToken, { type: "text", text: "You've sent an image!" }); } }
该代码内容表示当用户发送了一张图片之后,自动回复一条文本消息 "You've sent an image!"。
总结
本文介绍了如何使用 npm 包 @intocode-io/line-bot-server 来快速构建自己的 Line Bot 后端服务器。不过需要注意的是,只有在 Line Developers 控制台上的 Messaging API Channel 中开启了 Webhook 和相应的事件类型后,才能接受到用户的消息。此外,Line Bot 的整个开发流程还包括前端页面的开发和与后端服务器的配合等步骤,需要开发者对前后端知识都有一定的了解。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5a51ab1864dac66fcf