diff --git a/client/CustomGoogleGeminiClient.js b/client/CustomGoogleGeminiClient.js index a950e23..33b02d9 100644 --- a/client/CustomGoogleGeminiClient.js +++ b/client/CustomGoogleGeminiClient.js @@ -80,7 +80,8 @@ export class CustomGoogleGeminiClient extends GoogleGeminiClient { * temperature: number?, * topP: number?, * tokK: number?, - * replyPureTextCallback: Function + * replyPureTextCallback: Function, + * toolMode: 'AUTO' | 'ANY' | 'NONE' * }} opt * @returns {Promise<{conversationId: string?, parentMessageId: string, text: string, id: string}>} */ @@ -173,9 +174,17 @@ export class CustomGoogleGeminiClient extends GoogleGeminiClient { } ] // ANY要笑死人的效果 + let mode = opt.toolMode || 'AUTO' + let lastFuncName = opt.functionResponse?.name + const mustSendNextTurn = [ + 'searchImage', 'searchMusic', 'searchVideo' + ] + if (lastFuncName && mustSendNextTurn.includes(lastFuncName)) { + mode = 'ANY' + } body.tool_config = { function_calling_config: { - mode: 'AUTO' + mode } } } @@ -215,6 +224,7 @@ export class CustomGoogleGeminiClient extends GoogleGeminiClient { const text = responseContent.parts.find(i => i.text)?.text if (text) { // send reply first + logger.info('send message: ' + text) opt.replyPureTextCallback && await opt.replyPureTextCallback(text) } // Gemini有时候只回复一个空的functionCall,无语死了 diff --git a/utils/face.js b/utils/face.js index c4dc87e..13d58c0 100644 --- a/utils/face.js +++ b/utils/face.js @@ -470,13 +470,19 @@ export async function convertFaces (msg, handleAt = false, e) { let groupCardQQMap = {} if (handleAt) { try { - groupMembers = e.bot.gml + groupMembers = e.bot.gml.get(e.group_id) } catch (err) { console.error(`Failed to get group members: ${err}`) } if (groupMembers) { for (let key of groupMembers.keys()) { - groupCardQQMap[groupMembers.get(key).card || groupMembers.get(key).nickname] = groupMembers.get(key).user_id + let userInfo = groupMembers.get(key) + if (userInfo.card) { + groupCardQQMap[userInfo.card] = userInfo.user_id + } + if (userInfo.nickname) { + groupCardQQMap[userInfo.nickname] = userInfo.user_id + } } } }