Hallo Doc
bei mir ging die alte Version zwar noch, aber wenn es was Neues gibt muss man das ja auch mal ausprobieren.
Habe mir jetzt auch mal die neue Version angeschaut.
Die Nachrichten sind jetzt fast immer beim erstenmal abrufen da.
Aber das umstellen auf die WhatsAPI-Official version ist nicht ganz so einfach wie nur die Source ändern.
Aber der Reihe nach.
Das src Verzeichniss hier runterladen und in den Scriptordner bei IPS
Die whatsprot.class.php gibt beim abrufen einen Fehler wegen file_get_contents aber ich glaube das ist nur zum schauen ob es eine neue Version von Whatsapi gibt.
Ich hab die Zeilen ab 466 auskommentiert dann war Ruhe. Falls ich hier falsch liege einfach kurz Bescheid geben.
//$WAver = trim(file_get_contents(static::WHATSAPP_VER_CHECKER));
//$WAverS = str_replace(".","",$WAver);
//$ver = str_replace(".","",static::WHATSAPP_VER);
// if($ver<$WAverS)
{
// $classesMD5 = file_get_contents('https://coderus.openrepos.net/whitesoft/whatsapp_classes');
// updateData('token.php', $WAver, $classesMD5);
// updateData('whatsprot.class.php', $WAver);
}
Auch hab ich bei der Datei events/MyEvents.php die beiden echo befehle am Ende der Datei auskommentiert, sonst erscheint das echo immer beim abrufen und verschicken. (Muss man aber nicht machen)
Jetzt aber zu den Scripten.
Hier mein Empfangsscript
<?
//Whatsapp Einstellungen
$userPhone = ''; //Handynummer ohne + einfach 4917...
$userIdentity = ''; //Imei Nummer
$userName = ''; //User Name
$password = ''; //Passwort Whatsapp per WART Herausfinden
$debug = false;
require 'C:\IP-Symcon\scripts\whatsapiofficial\whatsprot.class.php';
require 'C:\IP-Symcon\scripts\Whatsapiofficial\events\MyEvents.php';
$w = new WhatsProt($userPhone, $userIdentity, $userName, $debug);
$events = new MyEvents($w);
$events->setEventsToListenFor($events->activeEvents); //You can also pass in your own array with a list of events to listen too instead.
$w->eventManager()->bind("onGetMessage", "onMessage");
$w->connect();
$w->loginWithPassword($password);
$w->pollMessage();
function onMessage($mynumber, $from, $id, $type, $time, $name, $body)
{
//print_r( "Message from $name:
$body
");
SetValueString(xxxxx, $name);
SetValueString(xxxxxx, $body);
}
?>
ausser der Function onMessage gibt es natürlich noch mehr, die kann man sich unter events/MyEvents.php anschauen und eventuell einbauen.
Das Script dann alle x Sekunden/Minuten ausführen.
Zum versenden benutzt ich dieses Script
<?
$debug = true;
//Whatsapp Einstellungen
$userPhone = ''; //Handynummer ohne + einfach 4917...
$userIdentity = ''; //Imei Nummer
$userName = ''; //User Name
$password = ''; //Passwort Whatsapp per WART Herausfinden
$debug = false;
require 'C:\IP-Symcon\scripts\whatsapiofficial\whatsprot.class.php';
switch ($nummer) {
case 'Name1':
$handynummer='491122334455';
break;
case 'Name2':
$handynummer='4999887766';
break;
default:
$handynummer=$nummer;
}
$w = new WhatsProt($userPhone, $userIdentity, $userName, $debug);
$w->connect(); // Connect to WhatsApp network
$w->loginWithPassword($password); // logging in with the password we got!
$w->sendMessage( $handynummer, $text);
?>
Aufrufen kann man dann das Script damit:
IPS_RunScriptEx(123456, Array("nummer" => 'Name1', "text" => 'HALLO' ));
Hoffe ich hab an alles gedacht?..
Gruß Jannis