Jelajahi Sumber

Merge branch 'master' of 47.76.126.2:seven/bot-28

seven 2 minggu lalu
induk
melakukan
902e70fe0a
1 mengubah file dengan 9 tambahan dan 20 penghapusan
  1. 9 20
      app/Http/Controllers/api/TelegramWebHook.php

+ 9 - 20
app/Http/Controllers/api/TelegramWebHook.php

@@ -50,34 +50,22 @@ class TelegramWebHook extends BaseController
     public function handle(Request $request)
     {
         Log::error('Telegram 日志写入测试: ' . json_encode([$request->ip()], JSON_UNESCAPED_UNICODE));
-        // try {
-        $m = new Message();
-        $m->json = $request->ip();
-        $m->save();
         $telegram = new Api(config('services.telegram.token'));
-        // } catch (TelegramSDKException $e) {
-        //     return response()->json(['status' => 'ok']);
-        // }
         $update = $telegram->getWebhookUpdate(); // 获取更新数据
         $update->callbackQuery;
         if ($update->has('callback_query')) {
-            $json['type'] = 'callback_query';
             $callbackQuery = $update->callbackQuery;
-            $json['update'] = $callbackQuery;
             $message = $callbackQuery->message;
             $from = $callbackQuery->from;
             $data = $callbackQuery->data; // 获取 callback_data
             $callbackId = $callbackQuery->id; // 获取 callback_query 的 ID
-            $m = new Message();
-            $m->json = $data;
-            $m->save();
             Util::delCache($message->chat->id);
             // Log::error('Telegram 回调数据(JSON): ' . json_encode($update, JSON_UNESCAPED_UNICODE));
-
             DB::beginTransaction();
             try {
                 $chatId = $message->chat->id;
                 $firstName = $message->chat->firstName;
+                $username = $message->chat->username;
                 $messageId = $message->messageId;
                 if (!$from->isBot) {
                     $chatId = $from->id;
@@ -89,6 +77,7 @@ class TelegramWebHook extends BaseController
                     $user = new User();
                     $user->member_id = $chatId;
                 }
+                if ($username) $user->username = $username;
                 $user->first_name = $firstName;
                 $user->save();
                 App::setLocale($user->language);
@@ -496,8 +485,8 @@ class TelegramWebHook extends BaseController
             if ($message['chat']['type'] === 'private') {
 
                 // 校验开始菜单事件
-                $returnMsg = KeyboardService::checkStart($chatId,$text);
-                if($returnMsg){
+                $returnMsg = KeyboardService::checkStart($chatId, $text);
+                if ($returnMsg) {
                     return $returnMsg;
                 }
 
@@ -507,7 +496,7 @@ class TelegramWebHook extends BaseController
                         Util::delCache($chatId);
                         //给每个用户生成一个专属的USDT钱包
                         WalletService::getUserWallet($chatId);
-                        self::setReplyKeyboard($chatId,$user->language);
+                        self::setReplyKeyboard($chatId, $user->language);
                         break;
                     // case lang("近期注单"):
                     // case lang('"✅近期注单"'):
@@ -655,11 +644,11 @@ class TelegramWebHook extends BaseController
      * @param {*} $chatId
      * @throws TelegramSDKException
      */
-    public static function setReplyKeyboard($chatId,$language = 'en'):void
+    public static function setReplyKeyboard($chatId, $language = 'en'): void
     {
-        $replyInfo = KeyboardService::findOne(['button' => '开始使用','language'=>$language]);
-        if(empty($replyInfo)){
-            $replyInfo = KeyboardService::findOne(['button' => '开始使用','language'=>'en']);
+        $replyInfo = KeyboardService::findOne(['button' => '开始使用', 'language' => $language]);
+        if (empty($replyInfo)) {
+            $replyInfo = KeyboardService::findOne(['button' => '开始使用', 'language' => 'en']);
         }
         $telegram = new Api(config('services.telegram.token'));