fix: 聊天记录适配TRSS+chronocat

This commit is contained in:
ikechan8370 2023-10-13 22:57:16 +08:00
parent dce7503c41
commit 95e730f250
3 changed files with 47 additions and 9 deletions

View file

@ -9,6 +9,7 @@ import SydneyAIClient from '../utils/SydneyAIClient.js'
import { PoeClient } from '../utils/poe/index.js'
import AzureTTS from '../utils/tts/microsoft-azure.js'
import VoiceVoxTTS from '../utils/tts/voicevox.js'
import Version from '../utils/version.js'
import {
render,
renderUrl,
@ -183,7 +184,7 @@ export class chatgpt extends plugin {
reg: toggleMode === 'at' ? '^[^#][sS]*' : '^#chat[^gpt][sS]*',
/** 执行方法 */
fnc: 'chatgpt',
log: false
log: true
},
{
reg: '^#(chatgpt)?对话列表$',
@ -756,16 +757,17 @@ export class chatgpt extends plugin {
* #chatgpt
*/
async chatgpt (e) {
let msg = Version.isTrss ? e.msg : e.raw_message
let prompt
if (this.toggleMode === 'at') {
if (!e.raw_message || e.msg?.startsWith('#')) {
if (!msg || e.msg?.startsWith('#')) {
return false
}
if ((e.isGroup || e.group_id) && !(e.atme || e.atBot)) {
return false
}
if (e.user_id == getUin(e)) return false
prompt = e.raw_message.trim()
prompt = msg.trim()
if (e.isGroup && typeof this.e.group.getMemberMap === 'function') {
let mm = await this.e.group.getMemberMap()
let me = mm.get(getUin(e)) || {}
@ -1582,6 +1584,7 @@ export class chatgpt extends plugin {
// opt.messageType = allThrottled ? 'Chat' : 'SearchQuery'
if (Config.enableGroupContext && e.isGroup && typeof e.group.getMemberMap === 'function') {
try {
let memberMap = await e.group.getMemberMap()
opt.groupId = e.group_id
opt.qq = e.sender.user_id
opt.nickname = e.sender.card
@ -1605,7 +1608,9 @@ export class chatgpt extends plugin {
let mm = await e.group.getMemberMap()
chats.forEach(chat => {
let sender = mm.get(chat.sender.user_id)
chat.sender = sender
if (sender) {
chat.sender = sender
}
})
// console.log(chats)
opt.chats = chats