From 09147525a019253d58bfafa3e5efb90f787f467d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Fri, 2 Jan 2026 16:51:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=A4=E8=81=8A=E7=A6=81=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Guild.php | 12 ++++++++++++ application/api/model/Tencent.php | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/application/api/model/Guild.php b/application/api/model/Guild.php index b8a4fa73..5a288744 100644 --- a/application/api/model/Guild.php +++ b/application/api/model/Guild.php @@ -958,6 +958,12 @@ class Guild extends Model 'Member'=>'普通群成员', 'NotMember'=>'非群成员' ]; + //禁言用户列表 + $mute_list = model('api/Tencent')->get_group_mute_list($guild_ids); + $mute_user_list = []; + if($mute_list['code'] == 1){ + $mute_user_list = array_column($mute_list['data'], 'Member_Account'); + } foreach ($list as $key => $value) { if($user_id == $value['user_id']){ $list[$key]['is_self'] = 1; @@ -977,6 +983,12 @@ class Guild extends Model ->where(['a.user_id' => $value['user_id'], 'a.is_delete' => 1]) ->find(); $list[$key]['in_room_id'] = $in_room['room_id'] ?? 0; + //用户是否被禁言 + if(in_array('u'.$value['user_id'], $mute_user_list)){ + $list[$key]['is_mute'] = 1; + }else{ + $list[$key]['is_mute'] = 0; + } } } diff --git a/application/api/model/Tencent.php b/application/api/model/Tencent.php index 95a7061d..93ab9c33 100644 --- a/application/api/model/Tencent.php +++ b/application/api/model/Tencent.php @@ -1101,5 +1101,22 @@ class Tencent extends Model return ['code' => 0, 'msg' => $reslut['ErrorCode'], 'data' => null]; } } + //禁言用户列表 + public function get_group_mute_list($rid){ + $config = get_system_config(); + $tencentyun_im_appid = $config['tencentyun_im_appid']; + $im_admin = 'administrator'; + $admin_sig = $this->tencent_user_sig_info($im_admin); + $rand = rand(111111111,9999999999); + $postUrl = 'https://console.tim.qq.com/v4/group_open_http_svc/get_group_muted_account?sdkappid='.$tencentyun_im_appid.'&identifier='.$im_admin.'&usersig='.$admin_sig.'&random='.$rand.'&contenttype=json'; + $curlPost['GroupId'] = $rid; + $curlPost = json_encode($curlPost); + $reslut = $this->tencent_post_url($postUrl, $curlPost); + if($reslut['ActionStatus'] == 'OK'){ + return ['code' => 1, 'msg' => '操作成功', 'data' => $reslut['MutedAccountList']]; + }else{ + return ['code' => 0, 'msg' => $reslut['ErrorCode'], 'data' => null]; + } + } }