From: fomichev Date: Wed, 30 Oct 2024 09:26:32 +0000 (+0300) Subject: Замена метода задания адреса веб хука X-Git-Tag: 1.6~21^2~8 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=d49db3467d6096e084f7f8fe95cb81edf055d75b;p=erp24_rep%2Fyii-erp24%2F.git Замена метода задания адреса веб хука --- diff --git a/erp24/api2/controllers/TelegramController.php b/erp24/api2/controllers/TelegramController.php index 70ce9705..53056d74 100644 --- a/erp24/api2/controllers/TelegramController.php +++ b/erp24/api2/controllers/TelegramController.php @@ -40,14 +40,42 @@ class TelegramController extends Controller return parent::beforeAction($action); } + public function actionSetWebhook($on = '1') + { + $client = new Client(); + $url = 'https://api.telegram.org/bot' . Yii::$app->params['TELEGRAM_BOT_TOKEN'] . '/setWebhook'; + $webhookUrl = $on == '1' ? Yii::$app->params['TELEGRAM_WEBHOOK_URL'] : ''; + + try { + $response = $client->post($url, [ + 'json' => [ + 'url' => $webhookUrl + ] + ]); + + // Проверяем, успешен ли ответ + $responseBody = json_decode($response->getBody()->getContents(), true); + if ($responseBody && isset($responseBody['ok']) && $responseBody['ok']) { + Yii::info("Webhook успешно установлен: {$webhookUrl}", 'telegram'); + return "OK"; + } else { + Yii::error("Ошибка установки вебхука: " . json_encode($responseBody), 'telegram'); + return "NOT OK"; + } + } catch (\Exception $e) { + Yii::error("Ошибка установки вебхука: " . $e->getMessage(), 'telegram'); + return "NOT OK"; + } + } + /*public function actionSetWebhook($on = '1') { return self::apiRequest('setWebhook', [ 'url' => ( $on == '1' ? Yii::$app->params['TELEGRAM_WEBHOOK_URL'] : '' ) ]) ? "OK" : "NOT OK"; - } + }*/ // public function actionInfo() { // self::apiRequestJson("sendMessage", ['chat_id' => "5489795686", "parse_mode" => "html", "text" => 'Hello',