<?php
$hook = @file_get_contents(__DIR__ . '/hook.cfg');
if (!$hook) {
fprintf(STDERR, "hook.cfg nenalezen.\n");
exit(1);
}
$hook = trim($hook);
$d = date('N') - 1;
if ($d > 4) {
fprintf(STDERR, "Dneska se nepapá!\n");
exit(2);
}
define('DAY_NAME', ['pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek'][$d]);
require(__DIR__ . '/vendor/autoload.php');
$message = new Adawolfa\DiscordHooks\Message;
$message->username = 'Oběd';
foreach (glob(__DIR__ . '/restaurace/*.php') as $file) {
$restaurace = require_once($file);
assert($restaurace instanceof Restaurace);
$menu = $restaurace->menu();
if (empty($menu)) {
continue;
}
$message->embeds[] = $embed = new Adawolfa\DiscordHooks\Embed;
$embed->title = $restaurace->name();
$embed->url = $restaurace->link();
$embed->color = 16580705;
foreach ($menu as [$name, $value]) {
$embed->fields[] = new Adawolfa\DiscordHooks\Embed\Field($name, $value);
}
}
if (empty($message->embeds)) {
fprintf(STDERR, "Nebylo nalezeno nic k jídlu.\n");
exit(3);
}
$webHook = new Adawolfa\DiscordHooks\WebHook($hook);
$webHook->execute($message);
function nbsp(string $text): string
{
return str_replace(chr(194) . chr(160), ' ', $text);
}
interface Restaurace
{
public function name(): string;
public function link(): string;
public function menu(): ?array;
}