Ejemplo n.º 1
0
 public function config($number, $nickname, $password, $debug = false, $identifyFile = false)
 {
     $this->setNumber($number);
     $this->setNick($nickname);
     $this->setPassword($password);
     $this->setDebug($debug);
     $this->wa = new \WhatsProt($this->number, $this->nick, $this->debug, $identifyFile);
     $this->wa->eventManager()->bind('onGetMessage', array($this, 'processReceivedMessage'));
     $this->wa->eventManager()->bind('onConnect', array($this, 'connected'));
     $this->wa->eventManager()->bind('onGetGroups', array($this, 'processGroupArray'));
     $this->wa->eventManager()->bind('onCodeRequestFailedTooRecent', array($this, 'throwTooRecentException'));
     $this->wa->eventManager()->bind('onCodeRequestFailedTooManyGuesses', array($this, 'throwTooManyGuessesException'));
     $this->wa->eventManager()->bind('onCodeRequestFailed', array($this, 'throwCodeRequestFailedException'));
     $this->wa->eventManager()->bind('onCodeRegisterFailed', array($this, 'throwCodeRegisterFailedException'));
 }
Ejemplo n.º 2
0
    echo "<{$dFrom} is online>\n\n";
}
function onPresenceUnavailable($username, $from, $last)
{
    $dFrom = str_replace(array("@s.whatsapp.net", "@g.us"), "", $from);
    echo "<{$dFrom} is offline> Last seen: {$last} seconds\n\n";
}
echo "[] Logging in as '{$nickname}' ({$username})\n";
//Create the whatsapp object and setup a connection.
$w = new WhatsProt($username, $nickname, $debug);
$w->connect();
// Now loginWithPassword function sends Nickname and (Available) Presence
$w->loginWithPassword($password);
//Retrieve large profile picture. Output is in /src/php/pictures/ (you need to bind a function
//to the event onProfilePicture so the script knows what to do.
$w->eventManager()->bind("onGetProfilePicture", "onGetProfilePicture");
$w->sendGetProfilePicture($target, true);
//Print when the user goes online/offline (you need to bind a function to the event onPressence
//so the script knows what to do)
$w->eventManager()->bind("onPresenceAvailable", "onPresenceAvailable");
$w->eventManager()->bind("onPresenceUnavailable", "onPresenceUnavailable");
echo "[*] Connected to WhatsApp\n\n";
//update your profile picture
$w->sendSetProfilePicture("demo/venom.jpg");
//send picture
$w->sendMessageImage($target, "demo/x3.jpg");
//send video
//$w->sendMessageVideo($target, 'http://techslides.com/demos/sample-videos/small.mp4');
//send Audio
//$w->sendMessageAudio($target, 'http://www.kozco.com/tech/piano2.wav');
//send Location
Ejemplo n.º 3
0
    echo "====================================================\n";
    echo "               WhatsApp Tracker v0.1                \n";
    echo "====================================================\n\n";
    echo "USAGE: php " . $_SERVER['argv'][0] . " [-check <targetPhone>] [-cHidden <targetPhone>]\n [-cRemote0 <myPhone> <targetPhone>] [-cRemote1 <myPhone> <targetPhone>]\n";
    exit(1);
}
$dst = $_SERVER['argv'][2];
echo "====================================================\n";
echo "               WhatsApp tracker v0.1                \n";
echo "====================================================\n\n";
echo "[*] Logging in as WhatsApp Tracker ({$sender})\n";
$wa = new WhatsProt($sender, 'WhatsApp Tracker', FALSE);
$wa->connect();
$wa->loginWithPassword($password);
$events = new MyEvents($wa);
$wa->eventManager()->bind('onGetRequestLastSeen', 'onGetRequestLastSeen');
$wa->eventManager()->bind("onPresenceAvailable", "onPresenceAvailable");
$wa->eventManager()->bind("onPresenceUnavailable", "onPresenceUnavailable");
if ($_SERVER['argv'][1] == "-cRemote0" || $_SERVER['argv'][1] == "-check") {
    echo "\n[-] Tracker mode (ON):\n";
    while (TRUE) {
        if ($_SERVER['argv'][1] == "-check") {
            $wa->sendGetRequestLastSeen($dst);
        } else {
            $wa->sendGetRequestLastSeen($_SERVER['argv'][3]);
            $wa->sendMessage($dst, "(" . $_SERVER['argv'][3] . ") " . $ls);
        }
        sleep(60);
    }
}
if ($_SERVER['argv'][1] == "-cHidden" || $_SERVER['argv'][1] == "-cRemote1") {
Ejemplo n.º 4
0
    if ($type == "available") {
        echo "<{$dFrom} is online>\n\n";
    } else {
        echo "<{$dFrom} is offline>\n\n";
    }
}
echo "[] Logging in as '{$nickname}' ({$username})\n";
//Create the whatsapp object and setup a connection.
$w = new WhatsProt($username, $identity, $nickname, $debug);
$w->connect();
// Now loginWithPassword function sends Nickname and (Available) Presence
$w->loginWithPassword($password);
echo "[*] Connected to WhatsApp\n\n";
//Retrieve large profile picture. Output is in /src/php/pictures/ (you need to bind a function
//to the event onProfilePicture so the script knows what to do.
$w->eventManager()->bind("onGetProfilePicture", "onGetProfilePicture");
$w->sendGetProfilePicture($target, true);
//Print when the user goes online/offline (you need to bind a function to the event onPressence
//so the script knows what to do)
$w->eventManager()->bind("onPresence", "onPresenceReceived");
//update your profile picture
$w->sendSetProfilePicture("demo/venom.jpg");
//send picture
$w->sendMessageImage($target, "demo/x3.jpg");
//send video
//$w->sendMessageVideo($target, 'http://techslides.com/demos/sample-videos/small.mp4');
//send Audio
//$w->sendMessageAudio($target, 'http://www.kozco.com/tech/piano2.wav');
//send Location
//$w->sendLocation($target, '4.948568', '52.352957');
// Implemented out queue messages and auto msgid
Ejemplo n.º 5
0
    $minutes = floor($minuteSeconds / $secondsInAMinute);
    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);
    // return the value
    if ($seconds == null & $minutes == null & $hours == null & $days == null) {
        echo "El contacto tiene desactivado esta función";
    } else {
        if ($seconds == 0 & $minutes == 0 & $hours == 0 & $days == 0) {
            echo "En línea";
        } else {
            echo $days . " días " . $hours . " horas " . $minutes . " minutos";
        }
    }
}
$w->eventManager()->bind('onGetRequestLastSeen', 'onGetRequestLastSeen');
$w->sendGetRequestLastSeen($contacts);
//This function only needed to show how eventmanager works.
function onGetProfilePicture($from, $target, $type, $data)
{
    if ($type == "preview") {
        $filename = "preview_" . $target . ".jpg";
    } else {
        $filename = $target . ".jpg";
    }
    $filename = WhatsProt::PICTURES_FOLDER . "/" . $filename;
    $fp = @fopen($filename, "w");
    if ($fp) {
        fwrite($fp, $data);
        fclose($fp);
    }
Ejemplo n.º 6
0
    echo "<{$dFrom} is online>\n\n";
}
function onPresenceUnavailable($username, $from, $last)
{
    $dFrom = str_replace(['@s.whatsapp.net', '@g.us'], '', $from);
    echo "<{$dFrom} is offline> Last seen: {$last} seconds\n\n";
}
echo "[] Logging in as '{$nickname}' ({$username})\n";
//Create the whatsapp object and setup a connection.
$w = new WhatsProt($username, $nickname, $debug);
$w->connect();
// Now loginWithPassword function sends Nickname and (Available) Presence
$w->loginWithPassword($password);
//Retrieve large profile picture. Output is in /src/php/pictures/ (you need to bind a function
//to the event onProfilePicture so the script knows what to do.
$w->eventManager()->bind('onGetProfilePicture', 'onGetProfilePicture');
$w->sendGetProfilePicture($target, true);
//Print when the user goes online/offline (you need to bind a function to the event onPressence
//so the script knows what to do)
$w->eventManager()->bind('onPresenceAvailable', 'onPresenceAvailable');
$w->eventManager()->bind('onPresenceUnavailable', 'onPresenceUnavailable');
echo "[*] Connected to WhatsApp\n\n";
//update your profile picture
$w->sendSetProfilePicture('demo/venom.jpg');
//send picture
$w->sendMessageImage($target, 'demo/x3.jpg');
//send video
//$w->sendMessageVideo($target, 'http://techslides.com/demos/sample-videos/small.mp4');
//send Audio
//$w->sendMessageAudio($target, 'http://www.kozco.com/tech/piano2.wav');
//send Location
Ejemplo n.º 7
0
echo "               WhatsApp tracker v0.2                \n";
echo "====================================================\n\n";
if ($sender == "") {
    echo "\nEdit this file and add your account and password\n";
    exit(0);
}
echo "[*] Logging in as WhatsApp Tracker ({$sender})\n";
$wa = new WhatsProt($sender, 'WhatsApp Tracker', FALSE);
$wa->connect();
try {
    $wa->loginWithPassword($password);
} catch (Exception $e) {
    echo "Bad authentication: Bad password or blocked account";
}
$events = new MyEvents($wa);
$wa->eventManager()->bind("onPresenceAvailable", "onPresenceAvailable");
$wa->eventManager()->bind("onPresenceUnavailable", "onPresenceUnavailable");
echo "\n[-] Tracker mode (ON): Waiting the user to get online...\n";
$wa->SendPresenceSubscription($target);
$wa->pollMessage();
if ($presence == "available") {
    echo "- The user is now online\n\n";
} else {
    echo "- The user is offline\n\n";
}
$lastpresence = "";
while (true) {
    $wa->pollMessage();
    if ($lastpresence == "available" && $presence == "unavailable") {
        $timeOffline = date("Y-m-d H:i:s");
        while ($presence == "unavailable") {
        return trim(fgets($pStdn, 1024));
    }
    return null;
}
function onPresenceReceived($username, $from, $type)
{
    $dFrom = str_replace(array("@s.whatsapp.net", "@g.us"), "", $from);
    if ($type == "available") {
        echo "<{$dFrom} se ha conectado>\n\n";
    } else {
        echo "<{$dFrom} se ha desconectado>\n\n";
    }
}
echo "[] Iniciando sesion como '{$nickname}' ({$username})\n";
$w = new WhatsProt($username, $identity, $nickname, false);
$w->eventManager()->bind("onPresence", "onPresenceReceived");
$w->connect();
// Nos conectamos a la red de WhatsApp
$w->loginWithPassword($password);
// Iniciamos sesion con nuestra contraseña
echo "[*]Conectado a WhatsApp\n\n";
$w->sendGetServerProperties();
// Obtenemos las propiedades del servidor
$w->sendClientConfig();
// Enviamos nuestra configuración al servidor
$sync = array($target);
$w->sendSync($sync);
// Sincronizamos el contacto
$w->pollMessages();
// Volvemos a poner en cola mensajes
$w->sendPresenceSubscription($target);
Ejemplo n.º 9
0
    }
    //format message
    $msg = "<a href='{$fulluri}' target='_blank'><img src='{$previewuri}' /></a>";
    //insert message
    session_start();
    $in = $_SESSION['inbound'];
    $in[] = $msg;
    $_SESSION['inbound'] = $in;
    session_write_close();
}
require_once '../../src/whatsprot.class.php';
$target = @$_POST['target'];
$username = '******';
$password = '******';
$w = new WhatsProt($username, 0, 'WhatsApi AJAX Demo', true);
$w->eventManager()->bind('onGetImage', 'onGetImage');
$w->eventManager()->bind('onGetProfilePicture', 'onGetProfilePicture');
$w->connect();
$w->loginWithPassword($password);
$initial = @$_POST['initial'];
if ($initial == 'true' && $target != null) {
    //request contact picture only on first call
    $w->sendGetProfilePicture($target);
}
//subscribe contact status
$w->SendPresenceSubscription($target);
//TODO: presense handling (online/offline/typing/last seen)
while (running($time)) {
    while ($w->pollMessage()) {
    }
    running($time);
Ejemplo n.º 10
0
function setupWhatsappHandler()
{
    global $wa, $whatsappAuth;
    // bind event handler & tracker_login
    // Setup new Whatsapp session
    // change the "false" to "true" if you want debug information about the WhatsApp connection.
    $wa = new WhatsProt($whatsappAuth['number'], "WhatsApp", $whatsappAuth['debug']);
    $wa->eventManager()->bind('onGetRequestLastSeen', 'onGetRequestLastSeen');
    $wa->eventManager()->bind('onGetError', 'onGetError');
    $wa->eventManager()->bind('onDisconnect', 'onDisconnect');
    $wa->eventManager()->bind("onPresenceAvailable", "onPresenceAvailable");
    $wa->eventManager()->bind("onPresenceUnavailable", "onPresenceUnavailable");
    $wa->eventManager()->bind("onGetStatus", "onGetStatus");
    $wa->eventManager()->bind('onGetSyncResult', 'onSyncResultNumberCheck');
    $wa->eventManager()->bind("onGetProfilePicture", "onGetProfilePicture");
    $wa->eventManager()->bind("onPing", "onPing");
    $wa->eventManager()->bind("onSendPong", "onSendPong");
    $wa->connect();
    $wa->loginWithPassword($whatsappAuth['secret']);
}
Ejemplo n.º 11
0
     //echo ."/".."/". ;
     $wa = new WhatsProt($_POST['mobile'], $_POST['imei'], $_POST['nickname'], false);
     $wa->eventManager()->bind("onCodeRequest", "enriver_onCodeRequest");
     $wa->connect();
     $wa->codeRequest();
     for ($i = 0; $i < 5; $i++) {
         $wa->pollMessages();
     }
     $content = "<h2>You will get 6 digit code on your mobile,Enter the 6 digit code here (without dash)";
     $content .= "<form method='post' action='" . elgg_get_site_url() . "enriver/setup/whatsapp/{$segments['2']}/3'>";
     $content .= "<input type='text' name='code'>";
     $content .= "<input type='submit' name='submit'></form>";
 } elseif ($step == '3') {
     require elgg_get_plugins_path() . 'enriver/vendors/whatsapi/whatsprot.class.php';
     $wa = new WhatsProt($group->whatsapp_mobile, $group->whatsapp_imei, $group->whatsapp_name, false);
     $wa->eventManager()->bind("onCodeRegister", "enriver_onCodeRegister");
     $wa->connect();
     $wa->codeRegister($_POST['code']);
     for ($i = 0; $i < 5; $i++) {
         $wa->pollMessages();
     }
     $content = "<h2>Send Test message to other phone number,(make sure other phone has " . $group->whatsapp_mobile . " in contact. ";
     $content .= "<form method='post' action='" . elgg_get_site_url() . "enriver/setup/whatsapp/{$segments['2']}/4'>";
     $content .= "<label>Mobile Number&nbsp</label> <input type='text' style='width:400px;' name='testmobile'>";
     $content .= "<br><input type='submit'class='elgg-button elgg-button-action' name='submit'></form>";
 } elseif ($step == '4') {
     // echo $group->whatsapp_mobile."".$group->whatsapp_password;
     require elgg_get_plugins_path() . 'enriver/vendors/whatsapi/whatsprot.class.php';
     $wa = new WhatsProt($group->whatsapp_mobile, $group->whatsapp_imei, $group->whatsapp_name, false);
     $wa->connect();
     $wa->loginWithPassword($group->whatsapp_password);
Ejemplo n.º 12
0
    pcntl_exec($_, $argv);
};
set_exception_handler($restartMyself);
register_shutdown_function($restartMyself);
pcntl_signal(SIGTERM, $restartMyself);
// kill
pcntl_signal(SIGHUP, $restartMyself);
// kill -s HUP or kill -1
// pcntl_signal(SIGINT,  $restartMyself); // Ctrl-C
echo "[{$ke}][" . date('H:i:s') . "] ----------------------------------------------------\n";
echo "[{$ke}][" . date('H:i:s') . "] - Login sebagai '{$nickname}' ({$username})\n";
cek_konek();
$w = new WhatsProt($username, $nickname, $debug);
// bind events ------------------------------------------------------------------------------------------------------
// list semua event -->  https://github.com/WHAnonymous/Chat-API/wiki/WhatsAPI-Documentation#list-of-all-events
$w->eventManager()->bind("onConnect", "onConnect");
$w->eventManager()->bind("onDisconnect", "onDisconnect");
$w->eventManager()->bind("onClose", "onClose");
$w->eventManager()->bind("onGetMessage", "onGetMessage");
$w->eventManager()->bind("onGetGroupMessage", "onGetGroupMessage");
// konek ------------------------------------------------------------------------------------------------------------
sleep(3);
$w->connect();
$w->loginWithPassword($password);
$w->sendGetServerProperties();
$w->sendClientConfig();
$w->sendGetGroups();
$w->sendPing();
// poll message loop ------------------------------------------------------------------------------------------------
while (1) {
    if ($poll == 5) {
Ejemplo n.º 13
0
function setupWhatsappHandler()
{
    global $wa, $whatsappAuth;
    //bind event handler & login
    // Setup new Whatsapp session
    $wa = new WhatsProt($whatsappAuth['number'], "", "WhatsApp", false);
    $wa->eventManager()->bind('onGetRequestLastSeen', 'onGetRequestLastSeen');
    $wa->eventManager()->bind('onGetError', 'onGetError');
    $wa->eventManager()->bind('onDisconnect', 'onDisconnect');
    $wa->eventManager()->bind("onPresence", "onPresenceReceived");
    $wa->eventManager()->bind("onGetStatus", "onGetStatus");
    $wa->eventManager()->bind('onGetSyncResult', 'onSyncResultNumberCheck');
    $wa->eventManager()->bind("onGetProfilePicture", "onGetProfilePicture");
    $wa->eventManager()->bind("onSendPong", "onSendPong");
    $wa->connect();
    $wa->loginWithPassword($whatsappAuth['secret']);
}
Ejemplo n.º 14
0
<?php

require_once 'src/whatsprot.class.php';
require 'src/events/MyEvents.php';
$debug = true;
function onCredentialsBad($mynumber, $status, $reason)
{
    if ($reason == 'blocked') {
        echo "\n\nYour number is blocked \n";
    }
    if ($reason == 'incorrect') {
        echo "\n\nWrong identity. \n";
    }
}
function onCredentialsGood($mynumber, $login, $password, $type, $expiration, $kind, $price, $cost, $currency, $price_expiration)
{
    echo "\n\nYour number {$mynumber} with the following password {$password} is not blocked \n";
}
echo "####################\n";
echo "#                  #\n";
echo "# WA Block Checker #\n";
echo "#                  #\n";
echo "####################\n";
echo "\n\nUsername (country code + number without + or 00): ";
$username = trim(fgets(STDIN));
$w = new WhatsProt($username, '', $debug);
$w->eventManager()->bind("onCredentialsBad", "onCredentialsBad");
$w->eventManager()->bind("onCredentialsGood", "onCredentialsGood");
$w->checkCredentials();
Ejemplo n.º 15
0
        //add leading +
        $number = "+{$number}";
    }
    $numbers[] = $number;
}
//event handler
/**
 * @param $result SyncResult
 */
function onSyncResult($result)
{
    foreach ($result->existing as $number) {
        echo "{$number} exists<br />";
    }
    foreach ($result->nonExisting as $number) {
        echo "{$number} does not exist<br />";
    }
    die;
    //to break out of the while(true) loop
}
$wa = new WhatsProt($username, "", "WhatsApp", false);
//bind event handler
$wa->eventManager()->bind('onGetSyncResult', 'onSyncResult');
$wa->connect();
$wa->loginWithPassword($password);
//send dataset to server
$wa->sendSync($numbers);
//wait for response
while (true) {
    $wa->pollMessage();
}
Ejemplo n.º 16
0
    $row = mysql_fetch_array(mysql_query($select));
    $dutynumber = $row['current_duty_number'];
    return $dutynumber;
}
function getGroupChats()
{
    //Get duty number from MySQL
    $select = "SELECT group_code FROM `WAGroupChats` WHERE status='enable'";
    return mysql_query($select);
}
echo "Current duty number is" . getDutyNumber() . "\n\n";
$w = new WhatsProt($username, $nickname, $debug);
$GLOBALS["wa"] = $w;
//$w->setMessageStore(new SqliteMessageStore($username));
$events = new MyEvents($w);
$w->eventManager()->bind('onGetMessage', 'onGetMessage');
$w->eventManager()->bind('onGetGroupV2Info', 'onGetGroupV2Info');
$w->eventManager()->bind('onGetGroups', 'onGetGroups');
$w->eventManager()->bind('onGroupisCreated', 'onGroupisCreated');
$w->eventManager()->bind("onGetGroupMessage", "onGetGroupMessage");
$w->eventManager()->bind('onGetSyncResult', 'onSyncResult');
$w->eventManager()->bind('onGetRequestLastSeen', 'onGetRequestLastSeen');
$w->eventManager()->bind('onPresenceAvailable', 'onPresenceAvailable');
$w->eventManager()->bind('onPresenceUnavailable', 'onPresenceUnavailable');
$w->eventManager()->bind('onGetImage', 'onGetImage');
$w->eventManager()->bind('onGetVideo', 'onGetVideo');
$w->eventManager()->bind('onGetAudio', 'onGetAudio');
$w->connect();
try {
    $w->loginWithPassword($password);
} catch (Exception $e) {
Ejemplo n.º 17
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     if (!$this->argument('number')) {
         return $this->error('No number specified.');
     }
     $number = Number::where('number', $this->argument('number'))->first();
     if (is_null($number) || is_null($number->wa_password) || is_null($number->wa_expiration)) {
         return $this->error('Whatsapp not registered. Run php artisan whatsapp:register');
     }
     $contacts = $number->contacts->map(function ($contact) {
         return $contact->number;
     });
     $wa = new WhatsProt($number->number, $number->number, true);
     $wa->connect();
     // Connects to WhatsApp
     $wa->loginWithPassword($number->wa_password);
     // Login
     $wa->pollMessage();
     $wa->sendGetPrivacyBlockedList();
     // Get our privacy list
     $wa->sendGetClientConfig();
     // Get client config
     $wa->sendGetServerProperties();
     // Get server properties
     if (!$contacts->isEmpty()) {
         $wa->sendGetHasVoipEnabled($contacts);
     }
     // Get which users have voip enabled
     $wa->sendGetGroups();
     // Get groups (participating)
     $wa->sendGetBroadcastLists();
     // Get broadcasts lists
     // $wa->sendGetProfilePicture(self); // self preview profile picture [OPTIONAL]
     if (!$contacts->isEmpty()) {
         $wa->sendSync($contacts);
     }
     // Sync all contacts
     // $wa->sendGetStatuses(All contacts); // Get contacts status [OPTIONAL]
     /*
     for (All contacts) [OPTIONAL]
     {
       			$wa->sendGetProfilePicture(contact); // preview profile picture of every contact
     }
     */
     // $wa->sendPing(); // Keep alive
     $wa->eventManager()->bind("onGetMessage", function ($mynumber, $from, $id, $type, $time, $name, $body) {
         // todo // save message id and compare to avoid duplicate
         $inbound = new Inbound();
         $inbound->from = $this->getFrom($from);
         $inbound->to = $mynumber;
         $inbound->text = $body;
         $inbound->type = 'whatsapp';
         $inbound->save();
     });
     $wa->eventManager()->bind("onPresenceAvailable", function ($mynumber, $from) {
         $from = $this->getFrom($from);
         // todo // add or update wa-contact
     });
     $wa->eventManager()->bind("onPresenceUnavailable", function ($mynumber, $from, $last) {
         $from = $this->getFrom($from);
         // todo // add or update wa-contact
     });
     $wa->eventManager()->bind("onMessageReceivedClient", function ($mynumber, $from, $id) {
         $outbound_chunk = OutboundChunk::where('message_id', $id)->first();
         if (!$outbound_chunk) {
             return;
         }
         $outbound_chunk->dn_error_code = 0;
         $outbound_chunk->dn_status = 'delivered';
         $outbound_chunk->save();
     });
     $time = time();
     while (true) {
         sleep(1);
         $wa->pollMessage();
         $this->processMessages($wa);
         if (time() - $time >= 8) {
             $wa->sendActiveStatus();
             $time = time();
             // whatsapp command action
             $whatsAppAction = Cache::get('whatsAppAction_' . $number->number, false);
             if ($whatsAppAction) {
                 $whatsAppActionInput = Cache::get('whatsAppActionInput_' . $number->number, false);
                 Cache::forget('whatsAppAction_' . $number->number);
                 Cache::forget('whatsAppActionInput_' . $number->number);
                 switch (strtolower($whatsAppAction)) {
                     case 'updatestatus':
                         $wa->sendStatusUpdate($whatsAppActionInput);
                         break;
                     case 'setprofilepicture':
                         try {
                             $wa->sendSetProfilePicture($whatsAppActionInput);
                         } catch (Exception $e) {
                         }
                         break;
                     case 'stop':
                         $wa->disconnect();
                         exit('whatsapp is stopped');
                 }
             }
             // end whatsapp command action
         }
     }
 }
Ejemplo n.º 18
0
    }
    $filename = WhatsProt::PICTURES_FOLDER . "/" . $filename;
    $fp = @fopen($filename, "w");
    if ($fp) {
        fwrite($fp, $data);
        fclose($fp);
    }
}
//Create the whatsapp object and setup a connection.
$w = new WhatsProt($username, $identity, $nickname, $debug);
$w->connect();
// Now loginWithPassword function sends Nickname and (Available) Presence
$w->loginWithPassword($password);
//Retrieve large profile picture. Output is in /src/php/pictures/ (you need to bind a function
//to the event onProfilePicture so the script knows what to do.
$w->eventManager()->bind("onGetProfilePicture", "onGetProfilePicture");
$w->sendGetProfilePicture($target, true);
//update your profile picture
$w->sendSetProfilePicture("demo/venom.jpg");
//send picture
$w->sendMessageImage($target, "demo/x3.jpg");
//send video
//$w->sendMessageVideo($target, 'http://techslides.com/demos/sample-videos/small.mp4');
//send Audio
//$w->sendMessageAudio($target, 'http://www.kozco.com/tech/piano2.wav');
//send Location
//$w->sendLocation($target, '4.948568', '52.352957');
// Implemented out queue messages and auto msgid
$w->sendMessage($target, "Sent from WhatsApi at " . time());
/**
 * You can create a ProcessNode class (or whatever name you want) that has a process($node) function
Ejemplo n.º 19
0
    $query = $db->prepare($sql);
    $query->execute([':username' => $number, ':password' => $pw, ':nickname' => $nickname, ':login' => '1']);
}
$db = new \PDO('sqlite:' . $fileName, null, null, [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$sql = 'SELECT username, password, nickname, login FROM data';
$row = $db->query($sql);
$result = $row->fetchAll();
$username = $result[0]['username'];
$password = $result[0]['password'];
$nickname = $result[0]['nickname'];
$login = $result[0]['login'];
$w = new WhatsProt($username, $nickname, $debug);
$GLOBALS['wa'] = $w;
$w->setMessageStore(new SqliteMessageStore($username));
$events = new MyEvents($w);
$w->eventManager()->bind('onGetSyncResult', 'onSyncResult');
$w->eventManager()->bind('onGetRequestLastSeen', 'onGetRequestLastSeen');
$w->eventManager()->bind('onPresenceAvailable', 'onPresenceAvailable');
$w->eventManager()->bind('onPresenceUnavailable', 'onPresenceUnavailable');
$w->eventManager()->bind('onGetImage', 'onGetImage');
$w->eventManager()->bind('onGetVideo', 'onGetVideo');
$w->eventManager()->bind('onGetAudio', 'onGetAudio');
$w->connect();
try {
    $w->loginWithPassword($password);
} catch (Exception $e) {
    echo "Error: {$e}";
    exit;
}
echo "\nConnected to WA\n\n";
if ($login == '1') {
Ejemplo n.º 20
0
        return trim(fgets($pStdn, 1024));
    }
}
function onPresenceAvailable($username, $from)
{
    $dFrom = str_replace(['@s.whatsapp.net', '@g.us'], '', $from);
    echo "<{$dFrom} is online>\n\n";
}
function onPresenceUnavailable($username, $from, $last)
{
    $dFrom = str_replace(['@s.whatsapp.net', '@g.us'], '', $from);
    echo "<{$dFrom} is offline>\n\n";
}
echo "[] logging in as '{$nickname}' ({$username})\n";
$w = new WhatsProt($username, $nickname, $debug);
$w->eventManager()->bind('onPresenceAvailable', 'onPresenceAvailable');
$w->eventManager()->bind('onPresenceUnavailable', 'onPresenceUnavailable');
$w->connect();
// Nos conectamos a la red de WhatsApp
$w->loginWithPassword($password);
// Iniciamos sesion con nuestra contraseña
echo "[*]Conectado a WhatsApp\n\n";
$w->sendGetServerProperties();
// Obtenemos las propiedades del servidor
$w->sendClientConfig();
// Enviamos nuestra configuración al servidor
$sync = [$target];
$w->sendSync($sync);
// Sincronizamos el contacto
$w->pollMessage();
// Volvemos a poner en cola mensajes
Ejemplo n.º 21
0
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css" />
</head>
<body>
<div class="panel panel-default">
  <div class="panel-heading">Console</div>
  <div class="panel-body jumbotron">
  <?php 
require_once 'src/whatsprot.class.php';
require_once 'whatsapp_config.php';
require_once 'whatsapp_events.php';
$w = new WhatsProt($userPhone, $userIdentity, $userName, $debug);
$w->eventManager()->bind("onGetMessage", "onGetMessage");
echo "<b>Connecting...</b>";
$w->Connect();
echo "<b>Logging in...</b><br/>";
$w->LoginWithPassword($password);
echo "<b>Connecting to database...</b>";
$dbservername = "us-cdbr-iron-east-01.cleardb.net";
$dbusername = "******";
$dbpassword = "******";
$dbname = "heroku_3d91432389d0eb8";
$conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
while (true) {
    echo "<b>Polling...</b><br/>";
    $w->pollMessage();