На php делаем редирект telegram webhook на другой адрес
Для того чтобы перенаправить вебхук Telegram на другой адрес с использованием PHP, можно использовать следующий подход:
1. **Получите данные вебхука**: Когда Telegram отправляет запрос на ваш сервер, вы можете получить данные этого запроса.
2. **Перенаправьте запрос**: Используйте функцию `file_get_contents` или `curl` для отправки полученных данных на другой адрес.
Пример кода:
```php
<?php
// Вывод ошибок
error_reporting(E_ALL);
ini_set('display_errors', 1);
// URL на который нужно перенаправить запрос
$redirectUrl = 'https://example.com/new-webhook-endpoint';
// Получаем данные от Telegram
$input = file_get_contents('php://input');
// Используем cURL для отправки запроса на другой адрес
$ch = curl_init($redirectUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $input);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Игнорируем SSL-сертификат
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
curl_close($ch);
// Вы можете обработать ответ от перенаправленного сервера, если это необходимо
echo $response;
?>
```
Переключалка
```
<?php
if (!isset($_GET['password'])) exit();
/*
https://site/setWebhook.php?password&v1
https://site/setWebhook.php?password&v2
*/
require('./functions.php');
print_r(set_webhook(
isset($_GET['v1']) ?
'https://site/my_telegram_receiver.php' :
'https://site2/my_telegram_receiver_redirect.php'
));
```