src/Controller/HookController.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\CommandResolver;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use App\Service\TelegramConnector;
  8. use Psr\Log\LoggerInterface;
  9. class HookController extends AbstractController
  10. {
  11.     /**
  12.      * @Route("/", name="hook")
  13.      * @param CommandResolver $commandResolver
  14.      * @return Response
  15.      */
  16.     public function index(
  17.         CommandResolver $commandResolver
  18.     ): Response {
  19.         $commandResolver->resolve();
  20.         return $this->render('hook/index.html.twig', [
  21.             'controller_name' => 'HookController',
  22.         ]);
  23.     }
  24.     /**
  25.      * @Route("/set-webhook/", name="set-webhook")
  26.      */
  27.     public function setWebhook(): Response
  28.     {
  29.         // если Телеграм-бот не зарегистрирован - регистрируем
  30.         if (!file_exists("registered.trigger")) {
  31.             /**
  32.              * файл registered.trigger будет создаваться после регистрации бота.
  33.              * если этого файла не существует, значит бот не
  34.              * зарегистрирован в Телеграмм
  35.              */
  36.             // URl текущей страницы
  37.             $result $this->telegramBot->setWebhook($this->hook_url);
  38.             if ($result) {
  39.                 file_put_contents("registered.trigger"time()); // создаем файл дабы остановить повторные регистрации
  40.             }
  41.         }
  42.         return new Response('The hook is already installed');
  43.     }
  44. }