mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 21:37:11 +00:00
Merge branch 'pr-774' into v2
兼容napcat
This commit is contained in:
commit
abf6fa6ac2
3 changed files with 52 additions and 42 deletions
|
|
@ -2,54 +2,54 @@ import { Config } from './config.js'
|
|||
import { newFetch } from './proxy.js'
|
||||
|
||||
export async function getChatHistoryGroup (e, num) {
|
||||
// if (e.adapter === 'shamrock') {
|
||||
// return await e.group.getChatHistory(0, num, false)
|
||||
// } else {
|
||||
let latestChats = await e.group.getChatHistory(e.seq || e.message_id, 1)
|
||||
if (latestChats.length > 0) {
|
||||
let latestChat = latestChats[0]
|
||||
if (latestChat) {
|
||||
let seq = latestChat.seq || latestChat.message_id
|
||||
let chats = []
|
||||
while (chats.length < num) {
|
||||
let chatHistory = await e.group.getChatHistory(seq, 20)
|
||||
if (!chatHistory || chatHistory.length === 0) {
|
||||
break
|
||||
if (e.adapter_name && e.adapter_name === 'OneBotv11') {
|
||||
return await e.group.getChatHistory(0, num, false)
|
||||
} else {
|
||||
let latestChats = await e.group.getChatHistory(e.seq || e.message_id, 1)
|
||||
if (latestChats.length > 0) {
|
||||
let latestChat = latestChats[0]
|
||||
if (latestChat) {
|
||||
let seq = latestChat.seq || latestChat.message_id
|
||||
let chats = []
|
||||
while (chats.length < num) {
|
||||
let chatHistory = await e.group.getChatHistory(seq, 20)
|
||||
if (!chatHistory || chatHistory.length === 0) {
|
||||
break
|
||||
}
|
||||
chats.push(...chatHistory.reverse())
|
||||
if (seq === chatHistory[chatHistory.length - 1].seq || seq === chatHistory[chatHistory.length - 1].message_id) {
|
||||
break
|
||||
}
|
||||
seq = chatHistory[chatHistory.length - 1].seq || chatHistory[chatHistory.length - 1].message_id
|
||||
}
|
||||
chats.push(...chatHistory.reverse())
|
||||
if (seq === chatHistory[chatHistory.length - 1].seq || seq === chatHistory[chatHistory.length - 1].message_id) {
|
||||
break
|
||||
}
|
||||
seq = chatHistory[chatHistory.length - 1].seq || chatHistory[chatHistory.length - 1].message_id
|
||||
}
|
||||
chats = chats.slice(0, num).reverse()
|
||||
try {
|
||||
let mm = await e.bot.gml
|
||||
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
|
||||
chats = chats.slice(0, num).reverse()
|
||||
try {
|
||||
let mm = await e.bot.gml
|
||||
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)
|
||||
}
|
||||
} catch (err) {
|
||||
logger.warn(err)
|
||||
// console.log(chats)
|
||||
return chats
|
||||
}
|
||||
// console.log(chats)
|
||||
return chats
|
||||
}
|
||||
}
|
||||
// }
|
||||
return []
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -734,6 +734,15 @@ export async function getImg (e) {
|
|||
e.img = i
|
||||
}
|
||||
}
|
||||
if (e.reply_id) {
|
||||
let reply = (await e.getReply(e.reply_id)).message;
|
||||
for (const val of reply) {
|
||||
if (val.type === "image") {
|
||||
e.img = [val.url];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return e.img
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ export class SendPictureTool extends AbstractTool {
|
|||
}
|
||||
let errs = []
|
||||
try {
|
||||
if (groupList.get(target)) {
|
||||
if ((typeof groupList.get === 'function' && groupList.get(target)) ||
|
||||
(Array.isArray(groupList) && groupList.includes(target))) {
|
||||
let group = await e.bot.pickGroup(target)
|
||||
for (let pic of pictures) {
|
||||
try {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue