|
|
|
#!/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>
|
|
|
|
*/
|
|
|
|
|
|
|
|
$currentYear = date('Y');
|
|
|
|
$dateRange = sprintf('%s0101-%s1231', $currentYear, $currentYear);
|
|
|
|
|
|
|
|
$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 70');
|
|
|
|
|
|
|
|
$response = curl_exec($ch);
|
|
|
|
|
|
|
|
curl_close($ch);
|
|
|
|
|
|
|
|
if ($response !== false) {
|
|
|
|
$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']));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
shell_exec(sprintf("echo Müllbot konnte keine Daten empfangen | %s -u %d", $config['pathBot'], $config['tgBotOwner']));
|
|
|
|
}
|