3

WhatsAPI だったのでChat-API ( https://github.com/WHAnonymous/Chat-API ) を使用していますが、メッセージを正しく受信する方法がわかりません。

現在、次の基本構造で 1 分ごとに実行される cron ファイルがあります。

$wa = new WhatsProt($WA_NUMBER, $WA_NICKNAME);
$wa->connect();
$wa->loginWithPassword($WA_PASSWORD);
$wa->pollMessage();
$data = $wa->getMessages();
foreach ($data as $item) {
    $from_number = $item->getAttribute("from");
    $from_nickname = $item->getAttribute("notify");
    if ($item->getAttribute("type") == "text") {
        $msg = $item->getChild("body")->getData();
    } else {
        $msg = $item->getChild("media")->getAttribute("url");
    }
    ...
}
$wa->disconnect();

また、次のようにバックグラウンドで常に PHP スクリプトを実行してみました。

while (true) {
    $wa->pollMessage();
    $data = $wa->getMessages();
    ...
}

最初のオプションは 2 番目のオプションよりも信頼性が高くなりますが、どちらも適切なソリューションではありません。

電話のようにソケットを利用してWhatsappサーバーに接続する方法はありますか? つまり、ソケットを開いて開いたままにし、新しいメッセージを受信するたびに関数をトリガーします (XMPP プロトコルを使用)。

4

0 に答える 0