mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-17 05:47:11 +00:00
feat: 改用调接口拿聊天记录,不用自己记录了
This commit is contained in:
parent
3885527a7d
commit
1c79ff00b7
3 changed files with 17 additions and 74 deletions
10
apps/chat.js
10
apps/chat.js
|
|
@ -1015,6 +1015,16 @@ export class chatgpt extends plugin {
|
|||
opt.qq = e.sender.user_id
|
||||
opt.nickname = e.sender.card
|
||||
opt.groupName = e.group.name
|
||||
let latestChat = await e.group.getChatHistory(0, 1)
|
||||
let seq = latestChat[0].seq
|
||||
let chats = []
|
||||
while (chats.length < Config.groupContextLength) {
|
||||
let chatHistory = await e.group.getChatHistory(seq, 20)
|
||||
chats.push(...chatHistory)
|
||||
}
|
||||
chats = chats.slice(0, Config.groupContextLength)
|
||||
console.log(chats)
|
||||
opt.chats = chats
|
||||
}
|
||||
response = await bingAIClient.sendMessage(prompt, opt, (token) => {
|
||||
reply += token
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
import plugin from '../../../lib/plugins/plugin.js'
|
||||
import { Config } from '../utils/config.js'
|
||||
import { formatDate } from '../utils/common.js'
|
||||
|
||||
export class intercepter extends plugin {
|
||||
constructor () {
|
||||
super({
|
||||
/** 功能名称 */
|
||||
name: 'ChatGPT-Plugin 监听群聊对话',
|
||||
/** 功能描述 */
|
||||
dsc: 'ChatGPT-Plugin 监听群聊对话,以便了解上下文',
|
||||
event: 'message',
|
||||
/** 优先级,数字越小等级越高 */
|
||||
priority: 1,
|
||||
rule: [
|
||||
{
|
||||
/** 学习群友聊天 **/
|
||||
reg: '^[^#][sS]*',
|
||||
fnc: 'recordChat',
|
||||
log: false
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
async recordChat (e) {
|
||||
// let gl = await this.e.group.getMemberMap()
|
||||
if (!e.raw_message) {
|
||||
if (e.img && e.img.length > 0) {
|
||||
e.msg = '[图片]'
|
||||
}
|
||||
}
|
||||
if (e.isGroup && e.raw_message) {
|
||||
const chat = {
|
||||
sender: e.sender.card,
|
||||
senderId: e.sender.user_id,
|
||||
senderSex: e.sender.sex,
|
||||
msg: e.raw_message,
|
||||
role: e.sender.role,
|
||||
area: e.sender.area,
|
||||
age: e.sender.age,
|
||||
time: formatDate(new Date())
|
||||
}
|
||||
// console.log(chat)
|
||||
await redis.rPush('CHATGPT:LATEST_CHAT_RECORD:' + e.group_id, JSON.stringify(chat))
|
||||
if (await redis.lLen('CHATGPT:LATEST_CHAT_RECORD:' + e.group_id) > Config.groupContextLength) {
|
||||
await redis.lPop('CHATGPT:LATEST_CHAT_RECORD:' + e.group_id)
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue