seven há 5 dias atrás
pai
commit
d062beddae
1 ficheiros alterados com 60 adições e 8 exclusões
  1. 60 8
      app/Http/Controllers/api/TelegramWebHook.php

+ 60 - 8
app/Http/Controllers/api/TelegramWebHook.php

@@ -63,6 +63,65 @@ class TelegramWebHook extends Controller
             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;
+                $messageId = $message->messageId;
+                if (!$from->isBot) {
+                    $chatId = $from->id;
+                    $firstName = $from->firstName;
+                }
+
+                $user = User::where('member_id', $chatId)->first();
+                if (!$user) {
+                    $user = new User();
+                    $user->member_id = $chatId;
+                }
+                $user->first_name = $firstName;
+                $user->save();
+                //给每个用户生成一个专属的USDT钱包
+                WalletService::getUserWallet($chatId);
+            //近期注单,下一页
+            $pattern = "/^betRecordNextPage@@\d+$/";
+            if (preg_match($pattern, $data)) {
+                $page = preg_replace('/^betRecordNextPage@@/', '', $data);
+                $page = intval($page);
+                $res = BetService::record($chatId ,$messageId ,$page );
+                $telegram->editMessageText($res);
+            }
+                 DB::commit();
+            } //
+            catch (MessageException $e) {
+                DB::rollBack();
+                $msg = $e->getMessage();
+                $msg = json_decode($msg, true);
+                $telegram->sendMessage($msg);
+            } //
+            catch (TelegramSDKException $e) {
+                DB::rollBack();
+                $m = new Message();
+                $m->json = $e->getMessage();
+                $m->save();
+                $telegram->sendMessage([
+                    'chat_id' => $chatId,
+                    'text' => '‼️‼️系统发生了错误,请联系客服'
+                ]);
+            }//
+            catch (\Exception $e) {
+                DB::rollBack();
+                $m = new Message();
+                $m->json = json_encode([
+                    'line' => $e->getLine(),
+                    'message' => $e->getMessage()
+                ]);
+                $m->save();
+                $telegram->sendMessage([
+                    'chat_id' => $chatId,
+                    'text' => '‼️‼️系统发生了错误,请联系客服'
+                ]);
+            }
+
         }else {
             $update = $request->all();
             Log::error('Telegram 文字消息回复: ' . json_encode($update, JSON_UNESCAPED_UNICODE));
@@ -566,14 +625,7 @@ class TelegramWebHook extends Controller
                     $telegram->editMessageText($res);
                 }
 
-                //近期注单,下一页
-                $pattern = "/^betRecordNextPage@@\d+$/";
-                if (preg_match($pattern, $data)) {
-                    $page = preg_replace('/^betRecordNextPage@@/', '', $data);
-                    $page = intval($page);
-                    $res = BetService::record($chatId ,$messageId ,$page );
-                    $telegram->editMessageText($res);
-                }
+                
 
                 //提现账单,下一页
                 $pattern = "/^withdrawBillNextPage@@\d+$/";