|
|
@@ -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'));
|
|
|
|