From e850aee599f4b61dce985f6852bb128dde8586df Mon Sep 17 00:00:00 2001 From: ivan deng Date: Fri, 21 Apr 2023 01:19:52 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=9A=E5=91=98=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_chatgpt/models/mail_channel.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app_chatgpt/models/mail_channel.py b/app_chatgpt/models/mail_channel.py index a983d4d7..3dcd6b93 100644 --- a/app_chatgpt/models/mail_channel.py +++ b/app_chatgpt/models/mail_channel.py @@ -97,6 +97,10 @@ class Channel(models.Model): elif channel_type in ['group', 'channel']: # partner_ids = @ ids partner_ids = list(msg_vals.get('partner_ids')) + if hasattr(self, 'ai_partner_id') and self.ai_partner_id: + # 当有主id时,使用主id + if self.ai_partner_id.id in partner_ids: + partner_ids = [self.ai_partner_id.id] if partner_ids: # 常规群聊 @ partners = self.env['res.partner'].search([('id', 'in', partner_ids)]) @@ -118,10 +122,11 @@ class Channel(models.Model): # 没有@时,默认第一个robot # robot = self.env.ref('app_chatgpt.chatgpt_robot') # 临时用azure - robot = self.env.ref('app_chatgpt.chatgpt3_azure') - if robot: - user_id = self.env['res.users'].sudo().search([('gpt_id', '=', robot.id)], limit=1) + if hasattr(self, 'ai_partner_id') and self.ai_partner_id: + # 当有主id时,使用主id + user_id = self.ai_partner_id.mapped('user_ids')[:1] else: + # 使用群里的第一个robot partners = self.channel_partner_ids.sudo().filtered(lambda r: r.gpt_id)[:1] user_id = partners.mapped('user_ids')[:1] if user_id: