使用Chat-API“正确的方式”接收消息

时间:2015-09-14 13:27:38

标签: php sockets whatsapp whatsapi

我一直在使用Chat-API(https://github.com/WHAnonymous/Chat-API),因为它是WhatsAPI,但我不确定如何正确接收消息。

现在,我有一个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();
    ...
}

第一个选项比第二个选项更可靠,但两者都不是正确的解决方案。

有没有办法利用套接字连接到Whatsapp服务器,就像手机一样?我的意思是,打开一个套接字并保持打开状态,每次收到新消息时都会触发一个函数(使用XMPP协议)。

0 个答案:

没有答案