与 TypeScript 服务器无关的 Whatsapp 官方 API 框架。
Whatsapp-api-js v4
内容一览
设置
示例和教程
类型
变更日志
文档
贡献者
贡献
重大变化
测试版发布
首先,您需要一个激活了 WhatsApp API 的 Meta Business 应用程序。您可以按照以下步骤创建您的第一个应用程序。
获取 API 令牌,可以是临时令牌,也可以是永久令牌。
从应用程序设置 > 基本 > 应用程序密钥中的仪表板获取您的应用程序密钥。
有关如何设置和检索此值的更多深入信息,请参阅模块文档
您现在可以使用 npm 安装该模块:
npm 安装whatsapp-api-js
这将让你编写这样的代码:
import { WhatsAppAPI } from "whatsapp-api-js";import { Document, Image, Text } from "whatsapp-api-js/messages";// 温馨提醒,不要对您的令牌和秘密进行硬编码 const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";/** @type WhatsAppAPI<number> */const Whatsapp = new WhatsAppAPI({ token: TOKEN, appSecret: APP_SECRET });// 假设在向服务器发送 POST 请求时调用 postasync 函数 post(e) {// 太长?阅读 https://whatsappapijs.web.app/modules/middleware.htmlreturn 等待 Whatsapp.post(JSON.parse(e.data),e.data,e.headers["x-hub-signature-256"]); }Whatsapp.on.message = async ({phoneID, from, message, name,reply }) => {console.log(`User ${name} (${from}) 发送到机器人${phoneID} ${JSON.stringify( message )}`);let response;if (message.type === "text") {response =等待回复(new Text(`*${name}* said:nn) ${message.text.body}`),true);}if (message.type === "image") {response =等待回复(new Image(message.image.id, true, `不错的照片, ${name}`));}if (message.type === "文档") {response =等待回复(new Document(message.document.id, true, undefined, "我们的文档"));}控制台。 log(response ??"还有更多类型的消息,例如联系人、" +"位置、模板、交互、反应和" +"所有其他媒体类型。");Whatsapp.markAsRead(phoneID, message.id) ;返回200;};Whatsapp.on.sent = ({phoneID, to, message }) => {console.log(`Bot ${phoneID} 发送给用户 ${to} ${message}`);};
要接收消息更新,您必须在 Meta 应用程序中设置 Webhook。返回仪表板,单击 WhatsApp > 设置,记下您的 Webhook URL,并确保订阅消息事件。您还将被要求提供验证令牌。这可以是您想要的任何字符串。
该包还包含一个用于 webhook 身份验证的 GET 处理程序:
从“whatsapp-api-js”导入{ WhatsAppAPI };const TOKEN =“YOUR_TOKEN”;const APP_SECRET =“YOUR_SECRET”;const VERIFY_TOKEN =“YOUR_VERIFY_TOKEN”;const Whatsapp = new WhatsAppAPI({token: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// 假设在向服务器发出 GET 请求时调用 get function get(e) {// 太长!?阅读 https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);}
就是这样!现在您已经有一个正常运行的 Whatsapp Bot 连接到您的服务器。有关特定运行时和框架的设置过程的更多信息,请查看Environments.md 文件。
有几个示例涵盖了如何创建每种类型的消息以及如何使用该库的基本方法。
在示例文件夹中查看它们。
该库是完全类型化的。大多数类型都可以通过导入/types
或/emitters
文件来获得:
从“whatsapp-api-js/types”导入{ GetParams,PostData };从“whatsapp-api-js/emitters”导入{ OnMessage,OnSent,OnStatus };
要了解更新之间发生了什么变化,请查看 Github 上的版本。
最新版本文档可在whatsappapijs.web.app 上找到,以前的版本存档在secreto31126.github.io/whatsapp-api-js 上。
表情符号键
迭戈·卡里略 | 奥马尔 | 拉胡尔·兰杰瓦尔 | 菲利克斯·阿朱那 |
如果您有一些空闲时间并且确实想要改进库或修复愚蠢的错误,请随时阅读 CONTRIBUTING.md 文件。
您可以在 BREAKING.md 文件中获取重大更改的完整列表。
使用npm install whatsapp-api-js@beta
安装最新的测试版。与任何 Beta 版一样,它有 110% 的可能崩溃。我还使用此标签来测试 npm 版本。使用它的风险由您自行承担。