fix: bing绘图取消权限

This commit is contained in:
ikechan8370 2023-04-03 19:21:48 +08:00
parent 4bd6c8c7d8
commit 943ee5951b

View file

@ -31,8 +31,7 @@ export class dalle extends plugin {
}, },
{ {
reg: '^#bing(画图|绘图)', reg: '^#bing(画图|绘图)',
fnc: 'bingDraw', fnc: 'bingDraw'
permission: 'master'
} }
] ]
}) })
@ -230,7 +229,16 @@ export class dalle extends plugin {
} }
async bingDraw (e) { async bingDraw (e) {
let ttl = await redis.ttl(`CHATGPT:DRAW:${e.sender.user_id}`)
if (ttl > 0 && !e.isMaster) {
this.reply(`冷却中,请${ttl}秒后再试`)
return false
}
let prompt = e.msg.replace(/^#bing(画图|绘图)/, '') let prompt = e.msg.replace(/^#bing(画图|绘图)/, '')
if (!prompt) {
this.reply('请提供绘图prompt')
return false
}
let bingToken = await redis.get('CHATGPT:BING_TOKEN') let bingToken = await redis.get('CHATGPT:BING_TOKEN')
if (!bingToken) { if (!bingToken) {
throw new Error('未绑定Bing Cookie请使用#chatgpt设置必应token命令绑定Bing Cookie') throw new Error('未绑定Bing Cookie请使用#chatgpt设置必应token命令绑定Bing Cookie')
@ -246,9 +254,11 @@ export class dalle extends plugin {
baseUrl: Config.sydneyReverseProxy, baseUrl: Config.sydneyReverseProxy,
userToken: bingToken userToken: bingToken
}) })
await redis.set(`CHATGPT:DRAW:${e.sender.user_id}`, 'c', { EX: 30 })
try { try {
await client.getImages(prompt, e) await client.getImages(prompt, e)
} catch (err) { } catch (err) {
await redis.del(`CHATGPT:DRAW:${e.sender.user_id}`)
await e.reply('绘图失败:' + err) await e.reply('绘图失败:' + err)
} }
} }