Hauke Zühl
3 years ago
1 changed files with 0 additions and 109 deletions
@ -1,109 +0,0 @@ |
|||||||
#!/usr/bin/php |
|
||||||
|
|
||||||
<?php |
|
||||||
/** |
|
||||||
* Um die Werte für kommune und strasse zu erfahren, rufe https://www.egst.de/de/abfallabholung/ per |
|
||||||
* Browser auf und ermittle die gesendeten Daten in der Entwicklerkonsole deines Browsers. |
|
||||||
* |
|
||||||
* Die Angaben hier im Skript stehen für Hörstel als Kommune und Im Wiesengrund als Strasse |
|
||||||
* |
|
||||||
* Um die Daten an Telegram zu senden, musst du dir ein Skript/Programm schreiben, dass die API |
|
||||||
* von Telegram verwendet und Daten an dich oder deine Gruppe senden kann! |
|
||||||
* |
|
||||||
* Beispiel für eine Konfigurationsdatei: |
|
||||||
* tgReceiver: <hier die ID der Gruppe/ des Teilnhemers eintragen> |
|
||||||
* kommune: 2601 |
|
||||||
* strasse: 2146 |
|
||||||
* pathBot: '~/bin/YMBot' |
|
||||||
* tgBotOwner: <hier DEINE Telegram-ID eintragen> |
|
||||||
*/ |
|
||||||
|
|
||||||
function worker(string $response, array $config) |
|
||||||
{ |
|
||||||
$tomorrow = (new DateTime('tomorrow'))->format('d.m.Y'); |
|
||||||
$trashArr = str_getcsv($response, "\n"); |
|
||||||
|
|
||||||
foreach($trashArr as $row) { |
|
||||||
$rowArr = str_getcsv($row, ';'); |
|
||||||
$index = array_search($tomorrow, $rowArr); |
|
||||||
if ($index !== false) { |
|
||||||
$what = ''; |
|
||||||
switch ($index) { |
|
||||||
case 0: |
|
||||||
case 1: |
|
||||||
$what = "werden Biomüll und gelbe Tonne"; |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
$what = "wird Restmüll"; |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
$what = "wird Papier"; |
|
||||||
break; |
|
||||||
} |
|
||||||
if ($what !== '') { |
|
||||||
shell_exec(sprintf("echo Morgen %s abgeholt | %s -u %d", $what, $config['pathBot'], $config['tgReceiver'])); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Main part |
|
||||||
$currentYear = date('Y'); |
|
||||||
$dateRange = sprintf('%s0101-%s1231', $currentYear, $currentYear); |
|
||||||
$muellFile = sprintf('%s/muell.csv', __DIR__); |
|
||||||
|
|
||||||
$key = 'e21758b9c711463552fb9c70ac7d4273'; |
|
||||||
|
|
||||||
$home = getenv('HOME'); |
|
||||||
$configFilePath = sprintf('%s/.muell.yaml', $home); |
|
||||||
|
|
||||||
// Read the config file if existing |
|
||||||
if (!file_exists($configFilePath)) { |
|
||||||
echo "Bitte .muell.yaml im Homeverzeichnis anlegen!\n"; |
|
||||||
return 1; |
|
||||||
} |
|
||||||
|
|
||||||
$config = yaml_parse_file($configFilePath); |
|
||||||
|
|
||||||
$url = sprintf('https://api.abfall.io/?key=%s&modus=d6c5855a62cf32a4dadbc2831f0f295f&waction=export_csv', $key); |
|
||||||
|
|
||||||
$ch = curl_init($url); |
|
||||||
|
|
||||||
$data = [ |
|
||||||
'f_id_kommune' => $config['kommune'], |
|
||||||
'f_id_strasse' => $config['strasse'], |
|
||||||
'f_id_abfalltyp_0' => 50, |
|
||||||
'f_id_abfalltyp_1' => 161, |
|
||||||
'f_id_abfalltyp_2' => 53, |
|
||||||
'f_id_abfalltyp_3' => 187, |
|
||||||
'f_abfallarten_index_max' => 5, |
|
||||||
'f_abfallarten' => '50,161,53,187', |
|
||||||
'f_zeitraum' => $dateRange, |
|
||||||
'f_export_als' => json_encode([ |
|
||||||
'action' => $url, |
|
||||||
'target' => '', |
|
||||||
]), |
|
||||||
]; |
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
|
||||||
curl_setopt($ch, CURLOPT_POST, 1); |
|
||||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); |
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0'); |
|
||||||
|
|
||||||
$response = curl_exec($ch)."\n"; |
|
||||||
|
|
||||||
curl_close($ch); |
|
||||||
|
|
||||||
if ($response !== false) { |
|
||||||
// If result file does not exist, write it to have a copy |
|
||||||
file_put_contents($muellFile, $response); |
|
||||||
|
|
||||||
// Go on with checking the result data |
|
||||||
worker($response, $config); |
|
||||||
} else { |
|
||||||
if (file_exists($muellFile)) { |
|
||||||
worker(file_get_contents($muellFile), $config); |
|
||||||
} else { |
|
||||||
shell_exec(sprintf("echo Müllbot konnte keine Daten empfangen | %s -u %d", $config['pathBot'], $config['tgBotOwner'])); |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue