80 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
#!/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/Progtramm schreiben, dass die API
 | 
						|
 * von Telegram verwendet und Daten an dich oder deine Gruppe senden kann!
 | 
						|
 */
 | 
						|
 | 
						|
$currentYear = date('Y');
 | 
						|
$dateRange = sprintf('%s0101-%s1231', $currentYear, $currentYear);
 | 
						|
 | 
						|
$key = 'e21758b9c711463552fb9c70ac7d4273';
 | 
						|
$kommune = 2601;
 | 
						|
$strasse = 2146;
 | 
						|
$tgReceiverId = 0; // Positive values are users, negative values are group IDs
 | 
						|
$pathToBot = '~/bin/YMBot';
 | 
						|
 | 
						|
$url = sprintf('https://api.abfall.io/?key=%s&modus=d6c5855a62cf32a4dadbc2831f0f295f&waction=export_csv', $key);
 | 
						|
 | 
						|
$ch = curl_init($url);
 | 
						|
 | 
						|
$data = [
 | 
						|
	'f_id_kommune' => $kommune,
 | 
						|
	'f_id_strasse' => $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, $pathToBot, $tgReceiverId));
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
}
 |