Я пытаюсь создать сценарий cron php, который читает входящие сообщения из WhatsApp с помощью ChatApi…
Я могу отправлять сообщения и поддерживать соединение, когда зацикливаю сообщения, но когда я читаю их, содержимое тела зашифровано.
Я запускаю этот пример кода:
require_once './include/class/ChatAPI/src/whatsprot.class.php';
require_once './include/class/ChatAPI/src/events/MyEvents.php';
$username = 'xxx';
$password = 'xxx';
$nickname = 'xxx';
$debug = true;
$w = new WhatsProt($username, $nickname, $debug);
$w->setMessageStore(new SqliteMessageStore($username));
$events = new MyEvents($w);
$events->setEventsToListenFor($events->activeEvents);
$w->Connect();
$w->LoginWithPassword($password);
$target = 'xxx';
$w->SendPresenceSubscription($target);$w->pollMessage();
$w->sendGetServerProperties();
$w->pollMessage();
$w->sendMessage($target, "Test");
while (1) {
if (!$w->isConnected()) {
$w->connect();
$w->loginWithPassword($password);
}
$w->pollMessage();
$data = $w->getMessages();
foreach ($data as $item) {
$from_number = $item->getAttribute("from");
$from_nickname = $item->getAttribute("notify");
if ($item->getAttribute("type") == "text") {
//var_dump($item);
$msg = $item->getChild("body");
//var_dump($msg);
} else {
//$msg = $item->getChild("media")->getAttribute("url");
}
}
}
Я получаю этот результат с режимом отладки на true
rx <message from="[email protected]" type="text" id="E13D166CBE22427EA47B8C02549F52" offline="3" t="1456238361" notify="Michele"> rx <enc v="2" type="pkmsg">331221050618d99b0d875b0a7cd72667a505501228d85533d4dcfa53d7419980146e1d691a2105c6875f6103741ec89679e90539d3f35ff1705ada636840e2d478abab69b0895a2242330a2105a9e6aee7a544414656234e79d17e108fb222ad216dd31ca83c5a108052c8e157105418002210e394ff9457660fc75c174bd82b94dbeb22d9b9522f4e3ac4288befdc930130b08f24</enc> rx </message>
Есть способ декодирования содержимого сообщения?
Я уже пытался использовать eventmanager с активированным событием getMessage … и добавлять функцию для вывода данных, но eventManager не вызывает функцию вывода …
Задача ещё не решена.
Других решений пока нет …