本文整理汇总了PHP中WhatsProt::pollMessage方法的典型用法代码示例。如果您正苦于以下问题:PHP WhatsProt::pollMessage方法的具体用法?PHP WhatsProt::pollMessage怎么用?PHP WhatsProt::pollMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WhatsProt
的用法示例。
在下文中一共展示了WhatsProt::pollMessage方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$username = getenv('USERNAME');
$nickname = getenv('NICKNAME');
$password = getenv('PASSWORD');
$debug = false;
// Create a instance of WhastPort.
$w = new \WhatsProt($username, $nickname, $debug);
$w->connect();
// Connect to WhatsApp network
$w->loginWithPassword($password);
$events = new CustomEvent($w, $output);
$events->setEventsToListenFor(['onGetMessage']);
$w->pollMessage();
$helper = $this->getHelper('question');
$question = new Question('..', false);
$destination = $helper->ask($input, $output, $question);
}
示例2: sendFiles
/** IMPLEMENTS SEND MESSAGES **/
protected function sendFiles($to, $files)
{
set_time_limit(600);
$explode = explode('.', $files['image']['name']);
$extensao = end($explode);
$extensao = strtolower($extensao);
define('CAMINHO_MIDIA', 'c:/xampp5-6/htdocs/whatsApi/public/img/send-messages/');
if (in_array($extensao, array('3gp', 'mp4', 'mov', 'avi'))) {
$newName = md5($files['image']['name'] . date('Ymdhis')) . "." . $extensao;
$pathImage = CAMINHO_MIDIA . $newName;
$urlMain = $_SERVER['HTTP_ORIGIN'] . '/img/send-messages/' . $newName;
if (move_uploaded_file($files['image']['tmp_name'], $pathImage)) {
$this->managerWhats->sendMessageVideo($to, $urlMain);
$this->managerWhats->pollMessage();
} else {
$this->setLogTalk("Enviar image:" . $to, "Não foi possível enviar a mídia");
}
}
if (in_array($extensao, array('jpg', 'jpeg', 'gif', 'png'))) {
$newName = md5($files['image']['name'] . date('Ymdhis')) . "." . $extensao;
$pathImage = CAMINHO_MIDIA . $newName;
$urlMain = $_SERVER['HTTP_ORIGIN'] . '/img/send-messages/' . $newName;
if (move_uploaded_file($files['image']['tmp_name'], $pathImage)) {
$this->managerWhats->sendMessageImage($to, $urlMain);
$this->managerWhats->pollMessage();
} else {
$this->setLogTalk("Enviar image:" . $to, "Não foi possível enviar a mídia");
}
}
if (in_array($extensao, array('3gp', 'caf', 'wav', 'mp3', 'wma', 'ogg', 'aif', 'aac', 'm4a'))) {
$newName = md5($_FILES['image']['name'] . date('Ymdhis')) . "." . $extensao;
$pathImage = CAMINHO_MIDIA . $newName;
$urlMain = $_SERVER['HTTP_ORIGIN'] . '/img/send-messages/' . $newName;
if (move_uploaded_file($files['image']['tmp_name'], $pathImage)) {
$this->managerWhats->sendMessageAudio($to, $urlMain);
$this->managerWhats->pollMessage();
} else {
$this->setLogTalk("Enviar image:" . $to, "Não foi possível enviar a mídia");
}
}
return true;
}
示例3: WhatsProt
$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
$w->sendPresenceSubscription($target);
// Nos suscribimos a la presencia del usuario
$pn = new ProcessNode($w, $target);
$w->setNewMessageBind($pn);
while (1) {
$w->pollMessage();
$msgs = $w->getMessages();
foreach ($msgs as $m) {
// process inbound messages
//print($m->NodeString("") . "\n");
}
$line = fgets_u(STDIN);
if ($line != '') {
if (strrchr($line, ' ')) {
示例4: date
$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
//$w->sendMessageLocation($target, '4.948568', '52.352957');
// Implemented out queue messages and auto msgid
$w->sendMessage($target, 'Guess the number :)');
$w->sendMessage($target, 'Sent from WhatsApi at ' . date('H:i'));
while ($w->pollMessage()) {
}
/*
* You can create a ProcessNode class (or whatever name you want) that has a process($node) function
* and pass it through setNewMessageBind, that way everytime the class receives a text message it will run
* the process function to it.
*/
$pn = new ProcessNode($w, $target);
$w->setNewMessageBind($pn);
echo "\n\nYou can also write and send messages to {$target} (interactive conversation)\n\n> ";
while (1) {
$w->pollMessage();
$msgs = $w->getMessages();
foreach ($msgs as $m) {
// process inbound messages
//print($m->NodeString("") . "\n");
示例5: exit
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") {
$timeDiff = round(strtotime(date("Y-m-d H:i:s")) - strtotime($timeOffline));
echo secondsToTime($timeDiff) . "\n";
if ($notify != "") {
$wa->sendMessage($notify, "({$target}) " . secondsToTime($timeDiff));
示例6: onGetMessage
if ($poll == 5) {
echo "\n[{$ke}][" . date('H:i:s') . "] ----------------------------------------------------\n";
echo "[{$ke}][" . date('H:i:s') . "] --- BOT SIAP!\n";
echo "[{$ke}][" . date('H:i:s') . "] --- \n";
echo "[{$ke}][" . date('H:i:s') . "] --- Sekarang coba kirim pesan ke bot ini,\n";
echo "[{$ke}][" . date('H:i:s') . "] --- seharusnya bot akan mengirim balik teks yang\n";
echo "[{$ke}][" . date('H:i:s') . "] --- dikirimkan ke dia.\n";
echo "[{$ke}][" . date('H:i:s') . "] --- \n";
echo "[{$ke}][" . date('H:i:s') . "] --- Ubah perilaku bot dengan mengedit function\n";
echo "[{$ke}][" . date('H:i:s') . "] --- onGetMessage() dan onGetGroupMessage()\n";
echo "[{$ke}][" . date('H:i:s') . "] --- di baris 126 dan baris 182.\n";
echo "[{$ke}][" . date('H:i:s') . "] --- \n";
echo "[{$ke}][" . date('H:i:s') . "] --- Semoga sukses!\n";
echo "[{$ke}][" . date('H:i:s') . "] ----------------------------------------------------\n";
}
$w->pollMessage(true);
// markAsRead
// cek konek
if ($poll % 100 == 0 && $poll != 0) {
cek_konek();
}
$poll++;
// poll control
}
// ------------------------------------------------------------------------------------------------------------------
// FUNCTIONS
// ------------------------------------------------------------------------------------------------------------------
// ketika dapat pesan pm
function onGetMessage($mynumber, $from, $id, $type, $time, $name, $body)
{
global $ke, $w, $poll;
示例7: fire
/**
* 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;
//.........这里部分代码省略.........