mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 21:37:11 +00:00
feat: add support for Claude and Poe(WIP)
This commit is contained in:
parent
a3a16bc5ff
commit
7ef6051da8
38 changed files with 882 additions and 19 deletions
|
|
@ -32,6 +32,11 @@ export class ChatgptManagement extends plugin {
|
|||
fnc: 'setAccessToken',
|
||||
permission: 'master'
|
||||
},
|
||||
{
|
||||
reg: '#chatgpt(设置|绑定)(Poe|POE)(token|Token)',
|
||||
fnc: 'setPoeCookie',
|
||||
permission: 'master'
|
||||
},
|
||||
{
|
||||
reg: '#chatgpt(设置|绑定|添加)(必应|Bing |bing )(token|Token)',
|
||||
fnc: 'setBingAccessToken',
|
||||
|
|
@ -77,6 +82,16 @@ export class ChatgptManagement extends plugin {
|
|||
fnc: 'useBingSolution',
|
||||
permission: 'master'
|
||||
},
|
||||
{
|
||||
reg: '^#chatgpt切换(Poe|poe)$',
|
||||
fnc: 'useClaudeBasedSolution',
|
||||
permission: 'master'
|
||||
},
|
||||
{
|
||||
reg: '^#chatgpt切换(Claude|claude|slack)$',
|
||||
fnc: 'useSlackClaudeBasedSolution',
|
||||
permission: 'master'
|
||||
},
|
||||
{
|
||||
reg: '^#chatgpt(必应|Bing)切换',
|
||||
fnc: 'changeBingTone',
|
||||
|
|
@ -404,6 +419,25 @@ export class ChatgptManagement extends plugin {
|
|||
return false
|
||||
}
|
||||
|
||||
async setPoeCookie () {
|
||||
this.setContext('savePoeToken')
|
||||
await this.reply('请发送Poe Cookie', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async savePoeToken (e) {
|
||||
if (!this.e.msg) return
|
||||
let token = this.e.msg
|
||||
if (!token.startsWith('p-b=')) {
|
||||
await this.reply('Poe cookie格式错误', true)
|
||||
this.finish('savePoeToken')
|
||||
return
|
||||
}
|
||||
await redis.set('CHATGPT:POE_TOKEN', token)
|
||||
await this.reply('Poe cookie设置成功', true)
|
||||
this.finish('savePoeToken')
|
||||
}
|
||||
|
||||
async setBingAccessToken (e) {
|
||||
this.setContext('saveBingToken')
|
||||
await this.reply('请发送Bing Cookie Token.("_U" cookie from bing.com)', true)
|
||||
|
|
@ -587,22 +621,32 @@ export class ChatgptManagement extends plugin {
|
|||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'bing') {
|
||||
await redis.set('CHATGPT:USE', 'bing')
|
||||
// 结束所有人的对话
|
||||
const keys = await redis.keys('CHATGPT:CONVERSATIONS:*')
|
||||
if (keys.length) {
|
||||
const response = await redis.del(keys)
|
||||
if (Config.debug) {
|
||||
console.log('Deleted keys:', response)
|
||||
}
|
||||
} else {
|
||||
console.log('No keys matched the pattern')
|
||||
}
|
||||
await this.reply('已切换到基于微软新必应的解决方案,如果已经对话过务必执行`#结束对话`避免引起404错误')
|
||||
} else {
|
||||
await this.reply('当前已经是必应Bing模式了')
|
||||
}
|
||||
}
|
||||
|
||||
async useClaudeBasedSolution (e) {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'poe') {
|
||||
await redis.set('CHATGPT:USE', 'poe')
|
||||
await this.reply('已切换到基于Quora\'s POE的解决方案')
|
||||
} else {
|
||||
await this.reply('当前已经是POE模式了')
|
||||
}
|
||||
}
|
||||
|
||||
async useSlackClaudeBasedSolution () {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'claude') {
|
||||
await redis.set('CHATGPT:USE', 'claude')
|
||||
await this.reply('已切换到基于slack claude机器人的解决方案')
|
||||
} else {
|
||||
await this.reply('当前已经是claude模式了')
|
||||
}
|
||||
}
|
||||
|
||||
async changeBingTone (e) {
|
||||
let tongStyle = e.msg.replace(/^#chatgpt(必应|Bing)切换/, '')
|
||||
if (!tongStyle) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue