feat:结束其他模式对话 (#622)

* fix: 修正fastify版本为4.18.0

* fix: 修正fastify版本为4.18.0

* fix:修复正则

* feat:指令查看模型列表,指令设置API模型、API反代、星火版本

* feat:结束其他模式对话
This commit is contained in:
hanhan258 2023-12-12 20:34:05 +08:00 committed by GitHub
parent d00ab5df5f
commit 6f0a79559b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -97,6 +97,9 @@ try {
}
let version = Config.version
let proxy = getProxy()
const originalValues = ['星火', '通义千问', '克劳德', '克劳德2', '必应', 'api', 'API', 'api3', 'API3', 'glm', '巴德']
const correspondingValues = ['xh', 'qwen', 'claude', 'claude2', 'bing', 'api', 'api', 'api3', 'api3', 'chatglm', 'bard']
/**
* 每个对话保留的时长单个对话内ai是保留上下文的超时后销毁对话再次对话创建新的对话
* 单位
@ -204,11 +207,11 @@ export class chatgpt extends plugin {
permission: 'master'
},
{
reg: '^#(chatgpt)?(结束|新开|摧毁|毁灭|完结)对话([sS]*)',
reg: '^#(chatgpt|星火|通义千问|克劳德|克劳德2|必应|api|API|api3|API3|glm|巴德)?(结束|新开|摧毁|毁灭|完结)对话([sS]*)',
fnc: 'destroyConversations'
},
{
reg: '^#(chatgpt)?(结束|新开|摧毁|毁灭|完结)全部对话$',
reg: '^#(chatgpt|星火|通义千问|克劳德|克劳德2|必应|api|API|api3|API3|glm|巴德)?(结束|新开|摧毁|毁灭|完结)全部对话$',
fnc: 'endAllConversations',
permission: 'master'
},
@ -299,7 +302,15 @@ export class chatgpt extends plugin {
*/
async destroyConversations (e) {
const userData = await getUserData(e.user_id)
const use = (userData.mode === 'default' ? null : userData.mode) || await redis.get('CHATGPT:USE')
const match = e.msg.trim().match('^#?(.*)(结束|新开|摧毁|毁灭|完结)对话')
console.log(match[1])
let use
if (match[1] && match[1] != 'chatgpt') {
use = correspondingValues[originalValues.indexOf(match[1])]
} else {
use = (userData.mode === 'default' ? null : userData.mode) || await redis.get('CHATGPT:USE')
}
console.log(use)
await redis.del(`CHATGPT:WRONG_EMOTION:${(e.isGroup && Config.groupMerge) ? e.group_id.toString() : e.sender.user_id}`)
if (use === 'claude') {
// let client = new SlackClaudeClient({
@ -476,7 +487,15 @@ export class chatgpt extends plugin {
}
async endAllConversations (e) {
let use = await redis.get('CHATGPT:USE') || 'api'
const match = e.msg.trim().match('^#?(.*)(结束|新开|摧毁|毁灭|完结)全部对话')
console.log(match[1])
let use
if (match[1] && match[1] != 'chatgpt') {
use = correspondingValues[originalValues.indexOf(match[1])]
} else {
use = await redis.get('CHATGPT:USE') || 'api'
}
console.log(use)
let deleted = 0
switch (use) {
case 'claude': {