<?php
namespace App\Controller;
use App\Service\CommandResolver;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\TelegramConnector;
use Psr\Log\LoggerInterface;
class HookController extends AbstractController
{
/**
* @Route("/", name="hook")
* @param CommandResolver $commandResolver
* @return Response
*/
public function index(
CommandResolver $commandResolver
): Response {
$commandResolver->resolve();
return $this->render('hook/index.html.twig', [
'controller_name' => 'HookController',
]);
}
/**
* @Route("/set-webhook/", name="set-webhook")
*/
public function setWebhook(): Response
{
// если Телеграм-бот не зарегистрирован - регистрируем
if (!file_exists("registered.trigger")) {
/**
* файл registered.trigger будет создаваться после регистрации бота.
* если этого файла не существует, значит бот не
* зарегистрирован в Телеграмм
*/
// URl текущей страницы
$result = $this->telegramBot->setWebhook($this->hook_url);
if ($result) {
file_put_contents("registered.trigger", time()); // создаем файл дабы остановить повторные регистрации
}
}
return new Response('The hook is already installed');
}
}