40 lines
2.3 KiB
Plaintext
40 lines
2.3 KiB
Plaintext
<?php
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\tg_group;
|
|
use App\Models\tg_group_users;
|
|
use App\Models\tg_Msg;
|
|
use App\Services\TgApi;
|
|
use App\Services\UserFun;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class TgController extends Controller
|
|
{
|
|
public function Msg($token,Request $request)
|
|
{
|
|
$data = $request->all();
|
|
$data='{"token": "7710672705:AAEX1RWhBoLA2L5EZuTLajQ---tRjahNr9w", "update_id": 250041634, "message_date": 1746524847, "message_text": "@winchen1688 +2000", "message_chat_id": -4661252768, "message_from_id": 7559940376, "message_chat_type": "group", "message_chat_title": "一路发测试群", "message_message_id": 5, "message_from_is_bot": false, "message_from_username": "xiongia", "message_from_last_name": "xiong", "message_entities_0_type": "mention", "message_from_first_name": "ab ni", "message_entities_0_length": 12, "message_entities_0_offset": 0, "message_chat_all_members_are_administrators": true, "message_chat_accepted_gift_types_unique_gifts": false, "message_chat_accepted_gift_types_limited_gifts": false, "message_chat_accepted_gift_types_unlimited_gifts": false, "message_chat_accepted_gift_types_premium_subscription": false}';
|
|
$msg=UserFun::Json2Arr($data); //将JSON转换成一維扁平陣列
|
|
$msg['token']=$token;
|
|
$tgmsg=tg_Msg::storeFromWebhookJson($msg); //写入对话消息
|
|
$UserResponse=TgApi::GetChatMember($msg); //获取用户资料
|
|
$tg_group_users=tg_group_users::updateOrCreateFromTelegram($UserResponse['raw'], $msg['message_chat_id']); //更新写入用户资料
|
|
$chatResponse=TgApi::GetChatInfo($msg); //获取群资料
|
|
if($chatResponse['ok'] && isset($chatResponse['result']['id'])){ //更新写入群资料
|
|
$chatData = $chatResponse['result'];
|
|
$chatModel = tg_group::updateOrCreateFromTelegram($chatData);
|
|
return ['ok' => true, 'chat_id' => $chatModel->chat_id];
|
|
} else {
|
|
return ['ok' => false, 'error' => '无法取得群资料', 'raw' => $chatResponse];
|
|
}
|
|
// $tg_group=tg_group::updateOrCreateFromTelegram($chat_id);
|
|
// $chat=UserFun::Json2Arr($chat_id);
|
|
// dd($chat_id);
|
|
// return $tg_group;
|
|
|
|
// return $tgmsg;
|
|
// return response()->json(['status' => 'ok']);
|
|
}
|
|
}
|