]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-326] test telegram send message
authorAlexander Smirnov <fredeom@mail.ru>
Mon, 24 Feb 2025 17:14:00 +0000 (20:14 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Mon, 24 Feb 2025 17:14:00 +0000 (20:14 +0300)
erp24/actions/infoTable/Test2Action.php [new file with mode: 0644]
erp24/controllers/InfoTableController.php

diff --git a/erp24/actions/infoTable/Test2Action.php b/erp24/actions/infoTable/Test2Action.php
new file mode 100644 (file)
index 0000000..c60277f
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+
+namespace yii_app\actions\infoTable;
+
+use Yii;
+use yii\base\Action;
+use yii_app\services\TelegramService;
+use GuzzleHttp\Client;
+
+class Test2Action extends Action {
+    public function run() {
+        if (Yii::$app->request->isPost) {
+
+            $botToken = TelegramService::TELEGRAM_BOT_DEV;
+            $apiURL = "https://api.telegram.org/bot{$botToken}/sendMessage";
+            $chats = ['337084327', '5489795686']; //Алексей
+            $message = TelegramService::escapeMarkdown("Тестовое сообщение для https://tracker.yandex.ru/ERP-326");
+            $client = new Client();
+            foreach ($chats as $chatId) {
+                try {
+                    $client->post($apiURL, [
+                        'json' => [
+                            'chat_id' => $chatId,
+                            'text' => $message,
+                            'parse_mode' => 'MarkdownV2',
+                        ],
+                    ]);
+                } catch (\Exception $e) {
+                    Yii::error("Ошибка отправки сообщения в Telegram: " . $e->getMessage(), 'telegram');
+                }
+            }
+
+            return 'ok';
+        }
+        return '<form method="POST" action="/info-table/test2"><input type="submit" value="send to telegram"/></form>';
+    }
+}
index db3aa8fd96b02905100f8354a68c48004f9fe0da..fa57f7ca8385facda9cb869692dd1ef4bf4957f5 100644 (file)
@@ -22,6 +22,7 @@ class InfoTableController extends \yii\web\Controller
             'payroll-by-day' => \yii_app\actions\infoTable\PayrollByDayAction::class,
             'fot' => \yii_app\actions\infoTable\FotAction::class,
             'test' => \yii_app\actions\infoTable\TestAction::class,
+            'test2' => \yii_app\actions\infoTable\Test2Action::class,
             'validate' => \yii_app\actions\dashboard\ValidateAction::class,
             'charts-fot' => \yii_app\actions\infoTable\ChartsFotAction::class,
             'cabinet' => \yii_app\actions\infoTable\CabinetAction::class,
@@ -29,6 +30,18 @@ class InfoTableController extends \yii\web\Controller
         ];
     }
 
+    /**
+     * @inheritdoc
+     */
+    public function beforeAction($action)
+    {
+        if ($action->id == 'test2') {
+            $this->enableCsrfValidation = false;
+        }
+
+        return parent::beforeAction($action);
+    }
+
     /**
      * @TODO временно выдаём все данные по пользователю здесь, потом можно перенести
      * @see /js/common/admin-info.js