mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 21:37:11 +00:00
fix: remove code about queue
This commit is contained in:
parent
bb87169454
commit
d82320d04c
1 changed files with 4 additions and 72 deletions
76
apps/chat.js
76
apps/chat.js
|
|
@ -185,16 +185,6 @@ export class chatgpt extends plugin {
|
||||||
reg: '^#chatgpt设置(语音角色|角色语音|角色)',
|
reg: '^#chatgpt设置(语音角色|角色语音|角色)',
|
||||||
fnc: 'setDefaultRole'
|
fnc: 'setDefaultRole'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
reg: '^#(chatgpt)?清空(chat)?队列$',
|
|
||||||
fnc: 'emptyQueue',
|
|
||||||
permission: 'master'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
reg: '^#(chatgpt)?移出(chat)?队列首位$',
|
|
||||||
fnc: 'removeQueueFirst',
|
|
||||||
permission: 'master'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
reg: '#(OpenAI|openai)(剩余)?(余额|额度)',
|
reg: '#(OpenAI|openai)(剩余)?(余额|额度)',
|
||||||
fnc: 'totalAvailable',
|
fnc: 'totalAvailable',
|
||||||
|
|
@ -624,50 +614,10 @@ export class chatgpt extends plugin {
|
||||||
await this.reply('主人不让我回答你这种问题,真是抱歉了呢', true)
|
await this.reply('主人不让我回答你这种问题,真是抱歉了呢', true)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (use === 'api3') {
|
let confirm = await redis.get('CHATGPT:CONFIRM')
|
||||||
let randomId = uuid()
|
let confirmOn = (!confirm || confirm === 'on') // confirm默认开启
|
||||||
// 队列队尾插入,开始排队
|
if (confirmOn) {
|
||||||
await redis.rPush('CHATGPT:CHAT_QUEUE', [randomId])
|
await this.reply('我正在思考如何回复你,请稍等', true, { recallMsg: 8 })
|
||||||
let confirm = await redis.get('CHATGPT:CONFIRM')
|
|
||||||
let confirmOn = (!confirm || confirm === 'on') // confirm默认开启
|
|
||||||
if (await redis.lIndex('CHATGPT:CHAT_QUEUE', 0) === randomId) {
|
|
||||||
// 添加超时设置
|
|
||||||
await redis.pSetEx('CHATGPT:CHAT_QUEUE_TIMEOUT', Config.defaultTimeoutMs, randomId)
|
|
||||||
if (confirmOn) {
|
|
||||||
await this.reply('我正在思考如何回复你,请稍等', true, { recallMsg: 8 })
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
let length = await redis.lLen('CHATGPT:CHAT_QUEUE') - 1
|
|
||||||
if (confirmOn) {
|
|
||||||
await this.reply(`我正在思考如何回复你,请稍等,当前队列前方还有${length}个问题`, true, { recallMsg: 8 })
|
|
||||||
}
|
|
||||||
logger.info(`chatgpt队列前方还有${length}个问题。管理员可通过#清空队列来强制清除所有等待的问题。`)
|
|
||||||
// 开始排队
|
|
||||||
while (true) {
|
|
||||||
if (await redis.lIndex('CHATGPT:CHAT_QUEUE', 0) === randomId) {
|
|
||||||
await redis.pSetEx('CHATGPT:CHAT_QUEUE_TIMEOUT', Config.defaultTimeoutMs, randomId)
|
|
||||||
break
|
|
||||||
} else {
|
|
||||||
// 超时检查
|
|
||||||
if (await redis.exists('CHATGPT:CHAT_QUEUE_TIMEOUT') === 0) {
|
|
||||||
await redis.lPop('CHATGPT:CHAT_QUEUE', 0)
|
|
||||||
await redis.pSetEx('CHATGPT:CHAT_QUEUE_TIMEOUT', Config.defaultTimeoutMs, await redis.lIndex('CHATGPT:CHAT_QUEUE', 0))
|
|
||||||
if (confirmOn) {
|
|
||||||
let length = await redis.lLen('CHATGPT:CHAT_QUEUE') - 1
|
|
||||||
await this.reply(`问题想不明白放弃了,开始思考下一个问题,当前队列前方还有${length}个问题`, true, { recallMsg: 8 })
|
|
||||||
logger.info(`问题超时已弹出,chatgpt队列前方还有${length}个问题。管理员可通过#清空队列来强制清除所有等待的问题。`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await common.sleep(1500)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
let confirm = await redis.get('CHATGPT:CONFIRM')
|
|
||||||
let confirmOn = (!confirm || confirm === 'on') // confirm默认开启
|
|
||||||
if (confirmOn) {
|
|
||||||
await this.reply('我正在思考如何回复你,请稍等', true, { recallMsg: 8 })
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const emotionFlag = await redis.get(`CHATGPT:WRONG_EMOTION:${e.sender.user_id}`)
|
const emotionFlag = await redis.get(`CHATGPT:WRONG_EMOTION:${e.sender.user_id}`)
|
||||||
let userReplySetting = await getUserReplySetting(this.e)
|
let userReplySetting = await getUserReplySetting(this.e)
|
||||||
|
|
@ -1081,10 +1031,6 @@ export class chatgpt extends plugin {
|
||||||
this.reply(`建议的回复:\n${chatMessage.suggestedResponses}`)
|
this.reply(`建议的回复:\n${chatMessage.suggestedResponses}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (use === 'api3') {
|
|
||||||
// 移除队列首位,释放锁
|
|
||||||
await redis.lPop('CHATGPT:CHAT_QUEUE', 0)
|
|
||||||
}
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
logger.error(err)
|
logger.error(err)
|
||||||
if (use === 'api3') {
|
if (use === 'api3') {
|
||||||
|
|
@ -1308,20 +1254,6 @@ export class chatgpt extends plugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async emptyQueue (e) {
|
|
||||||
await redis.lTrim('CHATGPT:CHAT_QUEUE', 1, 0)
|
|
||||||
await this.reply('已清空当前等待队列')
|
|
||||||
}
|
|
||||||
|
|
||||||
async removeQueueFirst (e) {
|
|
||||||
let uid = await redis.lPop('CHATGPT:CHAT_QUEUE', 0)
|
|
||||||
if (!uid) {
|
|
||||||
await this.reply('当前等待队列为空')
|
|
||||||
} else {
|
|
||||||
await this.reply('已移出等待队列首位: ' + uid)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async getAllConversations (e) {
|
async getAllConversations (e) {
|
||||||
const use = await redis.get('CHATGPT:USE')
|
const use = await redis.get('CHATGPT:USE')
|
||||||
if (use === 'api3') {
|
if (use === 'api3') {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue