TypeScript サーバーに依存しない Whatsapp の公式 API フレームワーク。
whatsapp-api-js v4
内容一覧
設定
例とチュートリアル
種類
変更履歴
ドキュメント
貢献者
貢献
重大な変更
ベータ版リリース
まず、WhatsApp API が有効になっているメタ ビジネス アプリが必要です。この手順に従って、最初のアプリを作成できます。
API トークン (一時トークンまたは永続トークン) を取得します。
[アプリ設定] > [基本] > [アプリ シークレット] のダッシュボードからアプリ シークレットを取得します。
この値を設定および取得する方法の詳細については、モジュールのドキュメントを参照してください。
これで、npm を使用してモジュールをインストールできるようになりました。
npm インストール whatsapp-api-js
これにより、次のようなコードを書くことができます。
import { WhatsAppAPI } from "whatsapp-api-js";import { Document, Image, Text } from "whatsapp-api-js/messages";// トークンと Secretconst をハードコードしないように注意してください TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";/** @type WhatsAppAPI<number> */const Whatsapp = new WhatsAppAPI({ token: TOKEN, appSecret: APP_SECRET });// post が、serverasync 関数への POST リクエストで呼び出されると仮定します post(e) {// 長すぎますか? https://whatsappapijs.web.app/modules/middleware.htmlreturn await 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 応答;if (message.type === "text") {response = await Reply(new Text(`*${name}* と言いました) :nn${message.text.body}`),true);}if (message.type === "image") {response = await Reply(new Image(message.image.id, true, `素敵な写真, ${name}`));}if (message.type === "document") {response = await Reply(new Document(message.document.id, true, unknown, "Our document"));}コンソール。 log(response ??"連絡先、" +"場所、テンプレート、インタラクティブ、リアクション、および " +"他のすべてのメディア タイプなど、メッセージの種類は他にもあります。");Whatsapp.markAsRead(phoneID, message.id);return 200;};Whatsapp.on.sent = ({phoneID, to, message }) => {console.log(`Bot ${phoneID} がユーザー ${to} ${message}` に送信されました);};
メッセージの更新を受信するには、メタ アプリで Webhook を設定する必要があります。ダッシュボードに戻り、[WhatsApp] > [設定] をクリックし、Webhook URL を書き留めて、メッセージ イベントを購読していることを確認します。検証トークンも求められます。これには任意の文字列を指定できます。
パッケージには、Webhook 認証用の GET ハンドラーも含まれています。
import { WhatsAppAPI } from "whatsapp-api-js";const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";const VERIFY_TOKEN = "YOUR_VERIFY_TOKEN";const Whatsapp = new WhatsAppAPI({トークン: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// サーバー関数 get(e) への GET リクエストで get が呼び出されると仮定します。 {// 長すぎます! https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);} を読んでください。
それで終わりです!これで、機能する Whatsapp ボットがサーバーに接続されました。特定のランタイムおよびフレームワークのセットアップ プロセスの詳細については、Environments.md ファイルを確認してください。
各タイプのメッセージの作成方法とライブラリの基本メソッドの使用方法を説明する例がいくつかあります。
サンプルフォルダーでそれらを確認してください。
ライブラリは完全に型指定されています。ほとんどのタイプは、 /types
または/emitters
ファイルをインポートすることで利用できます。
import { GetParams, PostData } from "whatsapp-api-js/types";import { OnMessage, OnSent, OnStatus } from "whatsapp-api-js/emitters";
アップデート間の変更点を知るには、Github のリリースをチェックしてください。
最新リリースのドキュメントは whatsappapijs.web.app で入手でき、以前のバージョンは Secreto31126.github.io/whatsapp-api-js にアーカイブされています。
絵文字キー
ディエゴ・カリーロ | オマル | ラーフル・ランジュワール | フェリックス・アルジュナ |
時間があり、本当にライブラリを改善したり、愚かなバグを修正したい場合は、遠慮なく COTRIBUTING.md ファイルを読んでください。
BREAKING.md ファイルで重大な変更の完全なリストを取得できます。
npm install whatsapp-api-js@beta
を使用して、最新のベータ リリースをインストールします。他のベータ版と同様に、壊れる可能性は 110% あります。私はこのタグを npm リリースのテストにも使用します。ご自身の責任でご使用ください。