]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ДОБАВЛЯЕМ вывод origin/feature_fomichev_erp-255_send_tg_message_to_customer
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 10 Dec 2024 08:07:54 +0000 (11:07 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 10 Dec 2024 08:07:54 +0000 (11:07 +0300)
erp24/controllers/TgController.php
erp24/jobs/SendTelegramMessageJob.php
erp24/services/TelegramService.php

index a7385135f3da39c2fc37d5224fa86b17396a4970..bcba88f31649df2ecf0caefb57458d1e8947f424 100644 (file)
@@ -23,9 +23,10 @@ class TgController extends Controller
         $chatIds = [
             '730432579',
             '6207259989',
-            '337084327',
-            '923226593',
-            '5489795686',
+            '0000000000',
+            //'337084327',
+            //'923226593',
+            //'5489795686',
             ];
 
         if ($request->isPost) {
@@ -37,12 +38,17 @@ class TgController extends Controller
             } else {
                 Yii::$app->session->setFlash('error', 'Сообщение не может быть пустым!');
             }
+            //$chatIds = array_pad([], 100, $chatIds);
+            //$chatIds = array_merge(...$chatIds);
+            //var_dump($chatIds); die();
+            foreach ($chatIds as $key => $chatId) {
+                for ($i = 0; $i < 1; $i++) {
+                    Yii::$app->queue->push(new SendTelegramMessageJob([
+                        'chatId' => $chatId,
+                        'message' => ($message . $i),
+                    ]));
+                }
 
-            foreach ($chatIds as $chatId) {
-                Yii::$app->queue->push(new SendTelegramMessageJob([
-                    'chatId' => $chatId,
-                    'message' => $message,
-                ]));
             }
 
             Yii::$app->session->setFlash('success', 'Сообщение добавлено в очередь для всех чатов.');
index 57c5951729bd15f3743fd16ee277e64368a6641f..9bab6ac52349febeda4982413a6157e216ffb4a9 100644 (file)
@@ -3,6 +3,7 @@
 namespace app\jobs;
 
 
+use Yii;
 use yii\queue\JobInterface;
 use yii_app\services\TelegramService;
 
@@ -30,7 +31,22 @@ class SendTelegramMessageJob extends \yii\base\BaseObject implements JobInterfac
             self::$messagesSent = 0;
         }
 
-        TelegramService::sendMessageToTelegramClient($this->chatId, $this->message);
+        try {
+            $result = TelegramService::sendMessageToTelegramClient($this->chatId, $this->message);
+
+            if ($result == "OK") {
+                Yii::warning("Сообщение успешно отправлено пользователю с ID {$this->chatId} {$result}", 'telegram');
+            } else {
+                Yii::warning("Сообщение не удалось отправить пользователю ID {$this->chatId} {$result}", 'telegram');
+            }
+
+        } catch (\Exception $e) {
+            Yii::error(
+                "Сообщение не удалось отправить пользователю ID {$this->chatId}: " . $e->getMessage(),
+                'telegram'
+            );
+        }
+
 
         self::$messagesSent++;
     }
index ede0a91215689291e930f779ffdb74e31cdab597..95ac43da67e4a3ef5ef723220d3f5c32ce980285 100644 (file)
@@ -78,9 +78,13 @@ class TelegramService
             if ($response->getStatusCode() !== 200) {
                 Yii::error("Ошибка при отправке сообщения в Telegram. Код ответа: "
                     . $response->getStatusCode(), 'telegram');
+                return $response->getStatusCode();
             }
+
+            return $response->getReasonPhrase();
         } catch (\Exception $e) {
             Yii::error("Ошибка отправки сообщения в Telegram: " . $e->getMessage(), 'telegram');
+            return $e->getMessage();
         }
     }