Permalink
Browse files

Cronjob voo Botman message

Say wilt niet werken (ik moet het channel ID zien te vinden maar hoe of
wat is nog wat google werk)
  • Loading branch information...
thunderbug committed Oct 8, 2017
1 parent 20ce339 commit 68ee8a6b84baa2d4219041e5d4f6cae02cf52c6f
Showing with 75 additions and 3 deletions.
  1. +73 −1 chat_cronned_outgoing.php
  2. +2 −2 chat_handle_incoming.php
View
@@ -8,5 +8,77 @@
* - voor elk resultaat (C) stuur een bericht naar elke subscriber (B)
*/
use Mpociot\BotMan\BotManFactory;
use Mpociot\BotMan\Drivers\FacebookDriver;
use Mpociot\BotMan\Messages\Message;
$botmanConfig = array();
require_once ("inc/config.php");
require __DIR__ . "/vendor/autoload.php";
require __DIR__ . "/vendor/autoload.php";
//Init Database
$database = new Medoo\Medoo(
array(
"database_type" => "mysql",
"database_name" => $dbName,
"server" => $dbHost,
"username" => $dbUsername,
"password" => $dbPassword
)
);
//Init Botman
$botman = BotManFactory::create($botmanConfig);
$botman->verifyServices($botmanVerify);
$data = $database->query("SELECT distinct `gemeenteid` FROM `subscribers`;")->fetchAll();
foreach($data as $row) {
$gemeentes = $database->select("gemeentes", "name", array("id" => $row[0]));
foreach($gemeentes as $gemeente){
$apiData = getDataFROMAPI($gemeente[0]);
$users = $database->select("subscribers", "subscriberid", array("gemeenteid" => $row[0]));
foreach($users as $user){
if(is_array($apiData)) {
foreach ($apiData as $apiRow) {
$message = Message::create("Er is een boek gedropt:" . $apiRow["fbURL"]);
$botman->say($message, $user[0],FacebookDriver::class);
}
}
}
}
}
/**
* Get Data from the API
* @param $gemeente string Gemeentenaam
* @return array Data from API
*/
function getDataFROMAPI($gemeente)
{
return json_decode(fetchUrl("https://boekenzoekers.thunderbug.be/?output=json&gemeente=".$gemeente."&timeFrom=1507468666"), true);
}
/**
* Get the data from the URL using CURL
* @param $url String url
* @return mixed Data
*/
function fetchUrl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
View
@@ -115,8 +115,8 @@
$user = $bot->getUser();
$bot->reply("Hallo ".$user->getFirstName()." ".$user->getLastName());
$bot->reply("Welkom bij de boekenjagers, hier kunt u zelf aboneren op boeken in jouw regio");
$bot->reply("Om dit te stuurt u dit naar mij: \"abonneer op <gemeentenaam>\" ");
$bot->reply("Welkom bij de boekenjagers, hier kunt u uzelf aboneren op boeken in jouw regio");
$bot->reply("Om dit te doen stuurt u dit naar mij: \"abonneer op <gemeentenaam>\" ");
$bot->reply("Of als u geen zin meer heeft in boekjes \"de-abonneer op <gemeentenaam>\"");
});

4 comments on commit 68ee8a6

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta Oct 9, 2017

Owner

Say wilt niet werken (ik moet het channel ID zien te vinden maar hoe of
wat is nog wat google werk)

krijg je een foutmelding?

Owner

futtta replied Oct 9, 2017

Say wilt niet werken (ik moet het channel ID zien te vinden maar hoe of
wat is nog wat google werk)

krijg je een foutmelding?

@thunderbug

This comment has been minimized.

Show comment
Hide comment
@thunderbug

thunderbug Oct 9, 2017

Collaborator
Collaborator

thunderbug replied Oct 9, 2017

@thunderbug

This comment has been minimized.

Show comment
Hide comment
@thunderbug

thunderbug Oct 10, 2017

Collaborator

Ik krijg er geen fix voor gevonden, als ik op reply zet werkt alles maar via een cronjob werkt het niet. Ik ga morgen nog eens proberen om botman 2.0 aan de praat te krijgen

Collaborator

thunderbug replied Oct 10, 2017

Ik krijg er geen fix voor gevonden, als ik op reply zet werkt alles maar via een cronjob werkt het niet. Ik ga morgen nog eens proberen om botman 2.0 aan de praat te krijgen

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta Oct 10, 2017

Owner

OK, als 2.0 ook niet werkt of vragen op het slack-kanaal of een issue aanmaken op hun github?

Owner

futtta replied Oct 10, 2017

OK, als 2.0 ook niet werkt of vragen op het slack-kanaal of een issue aanmaken op hun github?

Please sign in to comment.