addArgument('mode', InputArgument::REQUIRED, 'Command mode (set or delete)') ; } protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); if (self::MODE_SET === strtolower($input->getArgument('mode'))) { $url = $this->router->generate( 'telegram_webhook', ['token' => $this->telegramToken], UrlGeneratorInterface::ABSOLUTE_URL ); $io->info('Setting webhook: ' . $url); try { $this->client->setWebhook( url: $url, max_connections: $this->telegramWebhookMaxConnections, ); } catch (\Exception $e) { $io->error(\sprintf( 'setWebhook error: %s', $e->getMessage(), )); } $output->writeln('Done'); } elseif (self::MODE_DELETE === strtolower($input->getArgument('mode'))) { $this->client->deleteWebhook(); } else { throw new \InvalidArgumentException(sprintf('Mode must be exactly one of: %s', implode(', ', [self::MODE_SET, self::MODE_DELETE]))); } return Command::SUCCESS; } }