mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-17 05:47:11 +00:00
fix: 上下文、文件、ocr等进一步适配shamrock
This commit is contained in:
parent
46328a9716
commit
247f3e15d0
4 changed files with 70 additions and 33 deletions
|
|
@ -1,3 +1,5 @@
|
|||
import common from '../../../lib/common/common.js'
|
||||
|
||||
export async function getChatHistoryGroup (e, num) {
|
||||
// if (e.adapter === 'shamrock') {
|
||||
// return await e.group.getChatHistory(0, num, false)
|
||||
|
|
@ -16,12 +18,23 @@ export async function getChatHistoryGroup (e, num) {
|
|||
chats = chats.slice(0, num)
|
||||
try {
|
||||
let mm = await e.group.getMemberMap()
|
||||
chats.forEach(chat => {
|
||||
let sender = mm.get(chat.sender.user_id)
|
||||
if (sender) {
|
||||
chat.sender = sender
|
||||
for (const chat of chats) {
|
||||
if (e.adapter === 'shamrock') {
|
||||
if (chat.sender?.user_id === 0) {
|
||||
// 奇怪格式的历史消息,过滤掉
|
||||
continue
|
||||
}
|
||||
let sender = await pickMemberAsync(e, chat.sender.user_id)
|
||||
if (sender) {
|
||||
chat.sender = sender
|
||||
}
|
||||
} else {
|
||||
let sender = mm.get(chat.sender.user_id)
|
||||
if (sender) {
|
||||
chat.sender = sender
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} catch (err) {
|
||||
logger.warn(err)
|
||||
}
|
||||
|
|
@ -32,3 +45,11 @@ export async function getChatHistoryGroup (e, num) {
|
|||
// }
|
||||
return []
|
||||
}
|
||||
|
||||
function pickMemberAsync (e, userId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
e.group.pickMember(userId, true, (sender) => {
|
||||
resolve(sender)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue