mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 21:37:11 +00:00
fix: whiletlist的未知问题;修改文档
This commit is contained in:
parent
636963af0e
commit
7ca35836bf
5 changed files with 122 additions and 201 deletions
|
|
@ -21,7 +21,7 @@ import VoiceVoxTTS, { supportConfigurations as voxRoleList } from '../utils/tts/
|
|||
import { supportConfigurations as azureRoleList } from '../utils/tts/microsoft-azure.js'
|
||||
|
||||
export class ChatgptManagement extends plugin {
|
||||
constructor(e) {
|
||||
constructor (e) {
|
||||
super({
|
||||
name: 'ChatGPT-Plugin 管理',
|
||||
dsc: '插件的管理项配置,让你轻松掌控各个功能的开闭和管理。包含各种实用的配置选项,让你的聊天更加便捷和高效!',
|
||||
|
|
@ -251,7 +251,7 @@ export class ChatgptManagement extends plugin {
|
|||
})
|
||||
}
|
||||
|
||||
async viewUserSetting(e) {
|
||||
async viewUserSetting (e) {
|
||||
const userSetting = await getUserReplySetting(this.e)
|
||||
const replyMsg = `${this.e.sender.user_id}的回复设置:
|
||||
图片模式: ${userSetting.usePicture === true ? '开启' : '关闭'}
|
||||
|
|
@ -264,7 +264,7 @@ ${userSetting.useTTS === true ? '当前语音模式为' + Config.ttsMode : ''}`
|
|||
return true
|
||||
}
|
||||
|
||||
async getTTSRoleList(e) {
|
||||
async getTTSRoleList (e) {
|
||||
const matchCommand = e.msg.match(/^#(chatgpt)?(vits|azure|vox)?语音(服务|角色列表)/)
|
||||
if (matchCommand[3] === '服务') {
|
||||
await this.reply(`当前支持vox、vits、azure语音服务,可使用'#(vox|azure|vits)语音角色列表'查看支持的语音角色。
|
||||
|
|
@ -315,7 +315,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
await this.reply(roleList)
|
||||
}
|
||||
|
||||
async ttsSwitch(e) {
|
||||
async ttsSwitch (e) {
|
||||
let userReplySetting = await getUserReplySetting(this.e)
|
||||
if (!userReplySetting.useTTS) {
|
||||
let replyMsg
|
||||
|
|
@ -342,7 +342,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
return false
|
||||
}
|
||||
|
||||
async commandHelp(e) {
|
||||
async commandHelp (e) {
|
||||
if (/^#(chatgpt)?指令表帮助$/.exec(e.msg.trim())) {
|
||||
await this.reply('#chatgpt指令表: 查看本插件的所有指令\n' +
|
||||
'#chatgpt(对话|管理|娱乐|绘图|人物设定|聊天记录)指令表: 查看对应功能分类的指令表\n' +
|
||||
|
|
@ -358,7 +358,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
聊天记录: '聊天记录'
|
||||
}
|
||||
|
||||
function getCategory(e, plugin) {
|
||||
function getCategory (e, plugin) {
|
||||
for (const key in categories) {
|
||||
if (e.msg.includes(key) && plugin.name.includes(categories[key])) {
|
||||
return '功能名称: '
|
||||
|
|
@ -423,133 +423,13 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
return true
|
||||
}
|
||||
|
||||
async setList(e) {
|
||||
this.setContext('saveList')
|
||||
isWhiteList = e.msg.includes('白')
|
||||
const listType = isWhiteList ? '对话白名单' : '对话黑名单'
|
||||
await this.reply(`请发送需要添加的${listType}号码,默认设置为添加群号,需要添加QQ号时在前面添加^(例如:^123456)。`, e.isGroup)
|
||||
return false
|
||||
}
|
||||
|
||||
async saveList(e) {
|
||||
if (!this.e.msg) return
|
||||
const listType = isWhiteList ? '对话白名单' : '对话黑名单'
|
||||
const regex = /^\^?[1-9]\d{5,9}$/
|
||||
const wrongInput = []
|
||||
const inputSet = new Set()
|
||||
const inputList = this.e.msg.split(/[,,]/).reduce((acc, value) => {
|
||||
if (value.length > 11 || !regex.test(value)) {
|
||||
wrongInput.push(value)
|
||||
} else if (!inputSet.has(value)) {
|
||||
inputSet.add(value)
|
||||
acc.push(value)
|
||||
}
|
||||
return acc
|
||||
}, [])
|
||||
if (!inputList.length) {
|
||||
let replyMsg = '名单更新失败,请在检查输入是否正确后重新输入。'
|
||||
if (wrongInput.length) replyMsg += `\n${wrongInput.length ? '检测到以下错误输入:"' + wrongInput.join(',') + '",已自动忽略。' : ''}`
|
||||
await this.reply(replyMsg, e.isGroup)
|
||||
return false
|
||||
}
|
||||
let [whitelist, blacklist] = processList(Config.whitelist, Config.blacklist)
|
||||
whitelist = [...inputList, ...whitelist]
|
||||
blacklist = [...inputList, ...blacklist]
|
||||
if (listType === '对话白名单') {
|
||||
Config.whitelist = Array.from(new Set(whitelist))
|
||||
} else {
|
||||
Config.blacklist = Array.from(new Set(blacklist))
|
||||
}
|
||||
let replyMsg = `${listType}已更新,可通过\n"#chatgpt查看${listType}" 查看最新名单\n"#chatgpt移除${listType}" 管理名单${wrongInput.length ? '\n检测到以下错误输入:"' + wrongInput.join(',') + '",已自动忽略。' : ''}`
|
||||
if (e.isPrivate) {
|
||||
replyMsg += `\n当前${listType}为:${listType === '对话白名单' ? Config.whitelist : Config.blacklist}`
|
||||
}
|
||||
await this.reply(replyMsg, e.isGroup)
|
||||
this.finish('saveList')
|
||||
}
|
||||
|
||||
async checkList(e) {
|
||||
if (e.msg.includes('帮助')) {
|
||||
await this.reply('默认设置为添加群号,需要拉黑QQ号时在前面添加^(例如:^123456),可一次性混合输入多个配置号码,错误项会自动忽略。具体使用指令可通过 "#指令表搜索名单" 查看,白名单优先级高于黑名单。')
|
||||
return true
|
||||
}
|
||||
isWhiteList = e.msg.includes('白')
|
||||
const list = isWhiteList ? Config.whitelist : Config.blacklist
|
||||
const listType = isWhiteList ? '白名单' : '黑名单'
|
||||
const replyMsg = list.length ? `当前${listType}为:${list}` : `当前没有设置任何${listType}`
|
||||
await this.reply(replyMsg, e.isGroup)
|
||||
return false
|
||||
}
|
||||
|
||||
async delList(e) {
|
||||
isWhiteList = e.msg.includes('白')
|
||||
const listType = isWhiteList ? '对话白名单' : '对话黑名单'
|
||||
let replyMsg = ''
|
||||
if (Config.whitelist.length === 0 && Config.blacklist.length === 0) {
|
||||
replyMsg = '当前对话(白|黑)名单都是空哒,请先添加吧~'
|
||||
} else if ((listType === '对话白名单' && !Config.whitelist.length) || (listType === '对话黑名单' && !Config.blacklist.length)) {
|
||||
replyMsg = `当前${listType}为空,请先添加吧~`
|
||||
}
|
||||
if (replyMsg) {
|
||||
await this.reply(replyMsg, e.isGroup)
|
||||
return false
|
||||
}
|
||||
this.setContext('confirmDelList')
|
||||
await this.reply(`请发送需要删除的${listType}号码,号码间使用,隔开。输入‘全部删除’清空${listType}。${e.isPrivate ? '\n当前' + listType + '为:' + (listType === '对话白名单' ? Config.whitelist : Config.blacklist) : ''}`, e.isGroup)
|
||||
return false
|
||||
}
|
||||
|
||||
async confirmDelList(e) {
|
||||
if (!this.e.msg) return
|
||||
const isAllDeleted = this.e.msg.trim() === '全部删除'
|
||||
const regex = /^\^?[1-9]\d{5,9}$/
|
||||
const wrongInput = []
|
||||
const inputSet = new Set()
|
||||
const inputList = this.e.msg.split(/[,,]/).reduce((acc, value) => {
|
||||
if (value.length > 11 || !regex.test(value)) {
|
||||
wrongInput.push(value)
|
||||
} else if (!inputSet.has(value)) {
|
||||
inputSet.add(value)
|
||||
acc.push(value)
|
||||
}
|
||||
return acc
|
||||
}, [])
|
||||
if (!inputList.length && !isAllDeleted) {
|
||||
let replyMsg = '名单更新失败,请在检查输入是否正确后重新输入。'
|
||||
if (wrongInput.length) replyMsg += `${wrongInput.length ? '\n检测到以下错误输入:"' + wrongInput.join(',') + '",已自动忽略。' : ''}`
|
||||
await this.reply(replyMsg, e.isGroup)
|
||||
return false
|
||||
}
|
||||
let [whitelist, blacklist] = processList(Config.whitelist, Config.blacklist)
|
||||
if (isAllDeleted) {
|
||||
Config.whitelist = isWhiteList ? [] : whitelist
|
||||
Config.blacklist = !isWhiteList ? [] : blacklist
|
||||
} else {
|
||||
for (const element of inputList) {
|
||||
if (isWhiteList) {
|
||||
Config.whitelist = whitelist.filter(item => item !== element)
|
||||
} else {
|
||||
Config.blacklist = blacklist.filter(item => item !== element)
|
||||
}
|
||||
}
|
||||
}
|
||||
const listType = isWhiteList ? '对话白名单' : '对话黑名单'
|
||||
let replyMsg = `${listType}已更新,可通过 "#chatgpt查看${listType}" 命令查看最新名单${wrongInput.length ? '\n检测到以下错误输入:"' + wrongInput.join(',') + '",已自动忽略。' : ''}`
|
||||
if (e.isPrivate) {
|
||||
const list = isWhiteList ? Config.whitelist : Config.blacklist
|
||||
replyMsg = list.length ? `\n当前${listType}为:${list}` : `当前没有设置任何${listType}`
|
||||
}
|
||||
await this.reply(replyMsg, e.isGroup)
|
||||
this.finish('confirmDelList')
|
||||
}
|
||||
|
||||
async enablePrivateChat(e) {
|
||||
async enablePrivateChat (e) {
|
||||
Config.enablePrivateChat = !!e.msg.match(/(允许|打开|同意)/)
|
||||
await this.reply('设置成功', e.isGroup)
|
||||
return false
|
||||
}
|
||||
|
||||
async enableGroupContext(e) {
|
||||
async enableGroupContext (e) {
|
||||
const reg = /(关闭|打开)/
|
||||
const match = e.msg.match(reg)
|
||||
if (match) {
|
||||
|
|
@ -565,7 +445,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
return false
|
||||
}
|
||||
|
||||
async setDefaultReplySetting(e) {
|
||||
async setDefaultReplySetting (e) {
|
||||
const reg = /^#chatgpt(打开|关闭|设置)?全局((文本模式|图片模式|语音模式|((azure|vits|vox)?语音角色|角色语音|角色)(.*))|回复帮助)/
|
||||
const matchCommand = e.msg.match(reg)
|
||||
const settingType = matchCommand[2]
|
||||
|
|
@ -698,31 +578,31 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
await this.reply(replyMsg, true)
|
||||
}
|
||||
|
||||
async turnOnConfirm(e) {
|
||||
async turnOnConfirm (e) {
|
||||
await redis.set('CHATGPT:CONFIRM', 'on')
|
||||
await this.reply('已开启消息确认', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async turnOffConfirm(e) {
|
||||
async turnOffConfirm (e) {
|
||||
await redis.set('CHATGPT:CONFIRM', 'off')
|
||||
await this.reply('已关闭消息确认', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async setAccessToken(e) {
|
||||
async setAccessToken (e) {
|
||||
this.setContext('saveToken')
|
||||
await this.reply('请发送ChatGPT AccessToken', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async setPoeCookie() {
|
||||
async setPoeCookie () {
|
||||
this.setContext('savePoeToken')
|
||||
await this.reply('请发送Poe Cookie', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async savePoeToken(e) {
|
||||
async savePoeToken (e) {
|
||||
if (!this.e.msg) return
|
||||
let token = this.e.msg
|
||||
if (!token.startsWith('p-b=')) {
|
||||
|
|
@ -735,13 +615,13 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
this.finish('savePoeToken')
|
||||
}
|
||||
|
||||
async setBingAccessToken(e) {
|
||||
async setBingAccessToken (e) {
|
||||
this.setContext('saveBingToken')
|
||||
await this.reply('请发送Bing Cookie Token.("_U" cookie from bing.com)', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async migrateBingAccessToken() {
|
||||
async migrateBingAccessToken () {
|
||||
let token = await redis.get('CHATGPT:BING_TOKEN')
|
||||
if (token) {
|
||||
token = token.split('|')
|
||||
|
|
@ -765,7 +645,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
await this.reply('迁移完成', true)
|
||||
}
|
||||
|
||||
async getBingAccessToken(e) {
|
||||
async getBingAccessToken (e) {
|
||||
let tokens = await redis.get('CHATGPT:BING_TOKENS')
|
||||
if (tokens) tokens = JSON.parse(tokens)
|
||||
else tokens = []
|
||||
|
|
@ -778,7 +658,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
return false
|
||||
}
|
||||
|
||||
async delBingAccessToken(e) {
|
||||
async delBingAccessToken (e) {
|
||||
this.setContext('deleteBingToken')
|
||||
let tokens = await redis.get('CHATGPT:BING_TOKENS')
|
||||
if (tokens) tokens = JSON.parse(tokens)
|
||||
|
|
@ -793,7 +673,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
return false
|
||||
}
|
||||
|
||||
async saveBingToken() {
|
||||
async saveBingToken () {
|
||||
if (!this.e.msg) return
|
||||
let token = this.e.msg
|
||||
if (token.length < 100) {
|
||||
|
|
@ -850,7 +730,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
this.finish('saveBingToken')
|
||||
}
|
||||
|
||||
async deleteBingToken() {
|
||||
async deleteBingToken () {
|
||||
if (!this.e.msg) return
|
||||
let tokenId = this.e.msg
|
||||
if (await redis.exists('CHATGPT:BING_TOKENS') != 0) {
|
||||
|
|
@ -871,7 +751,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async saveToken() {
|
||||
async saveToken () {
|
||||
if (!this.e.msg) return
|
||||
let token = this.e.msg
|
||||
if (!token.startsWith('ey') || token.length < 20) {
|
||||
|
|
@ -884,12 +764,12 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
this.finish('saveToken')
|
||||
}
|
||||
|
||||
async useBrowserBasedSolution(e) {
|
||||
async useBrowserBasedSolution (e) {
|
||||
await redis.set('CHATGPT:USE', 'browser')
|
||||
await this.reply('已切换到基于浏览器的解决方案,如果已经对话过建议执行`#结束对话`避免引起404错误')
|
||||
}
|
||||
|
||||
async useOpenAIAPIBasedSolution(e) {
|
||||
async useOpenAIAPIBasedSolution (e) {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'api') {
|
||||
await redis.set('CHATGPT:USE', 'api')
|
||||
|
|
@ -899,12 +779,12 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async useChatGLMSolution(e) {
|
||||
async useChatGLMSolution (e) {
|
||||
await redis.set('CHATGPT:USE', 'chatglm')
|
||||
await this.reply('已切换到ChatGLM-6B解决方案,如果已经对话过建议执行`#结束对话`避免引起404错误')
|
||||
}
|
||||
|
||||
async useReversedAPIBasedSolution2(e) {
|
||||
async useReversedAPIBasedSolution2 (e) {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'api3') {
|
||||
await redis.set('CHATGPT:USE', 'api3')
|
||||
|
|
@ -914,7 +794,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async useBingSolution(e) {
|
||||
async useBingSolution (e) {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'bing') {
|
||||
await redis.set('CHATGPT:USE', 'bing')
|
||||
|
|
@ -924,7 +804,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async useClaudeBasedSolution(e) {
|
||||
async useClaudeBasedSolution (e) {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'poe') {
|
||||
await redis.set('CHATGPT:USE', 'poe')
|
||||
|
|
@ -934,7 +814,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async useSlackClaudeBasedSolution() {
|
||||
async useSlackClaudeBasedSolution () {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'claude') {
|
||||
await redis.set('CHATGPT:USE', 'claude')
|
||||
|
|
@ -944,7 +824,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async useXinghuoBasedSolution() {
|
||||
async useXinghuoBasedSolution () {
|
||||
let use = await redis.get('CHATGPT:USE')
|
||||
if (use !== 'xh') {
|
||||
await redis.set('CHATGPT:USE', 'xh')
|
||||
|
|
@ -954,7 +834,7 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async changeBingTone(e) {
|
||||
async changeBingTone (e) {
|
||||
let tongStyle = e.msg.replace(/^#chatgpt(必应|Bing)切换/, '')
|
||||
if (!tongStyle) {
|
||||
return
|
||||
|
|
@ -977,12 +857,12 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
}
|
||||
}
|
||||
|
||||
async bingOpenSuggestedResponses(e) {
|
||||
async bingOpenSuggestedResponses (e) {
|
||||
Config.enableSuggestedResponses = e.msg.indexOf('开启') > -1
|
||||
await e.reply('操作成功')
|
||||
}
|
||||
|
||||
async checkAuth(e) {
|
||||
async checkAuth (e) {
|
||||
if (!e.isMaster) {
|
||||
e.reply(`只有主人才能命令ChatGPT哦~
|
||||
(*/ω\*)`)
|
||||
|
|
@ -991,11 +871,11 @@ azure语音:Azure 语音是微软 Azure 平台提供的一项语音服务,
|
|||
return true
|
||||
}
|
||||
|
||||
async versionChatGPTPlugin(e) {
|
||||
async versionChatGPTPlugin (e) {
|
||||
await renderUrl(e, `http://127.0.0.1:${Config.serverPort || 3321}/version`, { Viewport: { width: 800, height: 600 } })
|
||||
}
|
||||
|
||||
async modeHelp() {
|
||||
async modeHelp () {
|
||||
let mode = await redis.get('CHATGPT:USE')
|
||||
const modeMap = {
|
||||
browser: '浏览器',
|
||||
|
|
@ -1032,7 +912,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
await this.reply(message)
|
||||
}
|
||||
|
||||
async shutUp(e) {
|
||||
async shutUp (e) {
|
||||
let duration = e.msg.replace(/^#chatgpt(本群)?(群\d+)?(关闭|闭嘴|关机|休眠|下班)/, '')
|
||||
let scope
|
||||
let time = 3600000
|
||||
|
|
@ -1084,7 +964,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
}
|
||||
}
|
||||
|
||||
async openMouth(e) {
|
||||
async openMouth (e) {
|
||||
const match = e.msg.match(/^#chatgpt群(\d+)/)
|
||||
if (e.msg.indexOf('本群') > -1) {
|
||||
if (await redis.get('CHATGPT:SHUT_UP:ALL')) {
|
||||
|
|
@ -1139,7 +1019,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
}
|
||||
}
|
||||
|
||||
async listShutUp() {
|
||||
async listShutUp () {
|
||||
let keys = await redis.keys('CHATGPT:SHUT_UP:*')
|
||||
if (!keys || keys.length === 0) {
|
||||
await this.reply('已经开启过全群响应啦', true)
|
||||
|
|
@ -1156,13 +1036,13 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
}
|
||||
}
|
||||
|
||||
async setAPIKey(e) {
|
||||
async setAPIKey (e) {
|
||||
this.setContext('saveAPIKey')
|
||||
await this.reply('请发送OpenAI API Key.', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async saveAPIKey() {
|
||||
async saveAPIKey () {
|
||||
if (!this.e.msg) return
|
||||
let token = this.e.msg
|
||||
if (!token.startsWith('sk-')) {
|
||||
|
|
@ -1176,13 +1056,13 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('saveAPIKey')
|
||||
}
|
||||
|
||||
async setXinghuoToken() {
|
||||
async setXinghuoToken () {
|
||||
this.setContext('saveXinghuoToken')
|
||||
await this.reply('请发送星火的ssoSessionId', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async saveXinghuoToken() {
|
||||
async saveXinghuoToken () {
|
||||
if (!this.e.msg) return
|
||||
let token = this.e.msg
|
||||
// todo
|
||||
|
|
@ -1191,13 +1071,13 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('saveXinghuoToken')
|
||||
}
|
||||
|
||||
async setAPIPromptPrefix(e) {
|
||||
async setAPIPromptPrefix (e) {
|
||||
this.setContext('saveAPIPromptPrefix')
|
||||
await this.reply('请发送用于API模式的设定', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async saveAPIPromptPrefix(e) {
|
||||
async saveAPIPromptPrefix (e) {
|
||||
if (!this.e.msg) return
|
||||
if (this.e.msg === '取消') {
|
||||
await this.reply('已取消设置API设定', true)
|
||||
|
|
@ -1210,13 +1090,13 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('saveAPIPromptPrefix')
|
||||
}
|
||||
|
||||
async setBingPromptPrefix(e) {
|
||||
async setBingPromptPrefix (e) {
|
||||
this.setContext('saveBingPromptPrefix')
|
||||
await this.reply('请发送用于Bing Sydney模式的设定', true)
|
||||
return false
|
||||
}
|
||||
|
||||
async saveBingPromptPrefix(e) {
|
||||
async saveBingPromptPrefix (e) {
|
||||
if (!this.e.msg) return
|
||||
if (this.e.msg === '取消') {
|
||||
await this.reply('已取消设置Sydney设定', true)
|
||||
|
|
@ -1228,7 +1108,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('saveBingPromptPrefix')
|
||||
}
|
||||
|
||||
async switchDraw(e) {
|
||||
async switchDraw (e) {
|
||||
if (e.msg.indexOf('开启') > -1) {
|
||||
if (Config.enableDraw) {
|
||||
await this.reply('当前已经开启chatgpt画图功能', true)
|
||||
|
|
@ -1246,15 +1126,15 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
}
|
||||
}
|
||||
|
||||
async queryAPIPromptPrefix(e) {
|
||||
async queryAPIPromptPrefix (e) {
|
||||
await this.reply(Config.promptPrefixOverride, true)
|
||||
}
|
||||
|
||||
async queryBingPromptPrefix(e) {
|
||||
async queryBingPromptPrefix (e) {
|
||||
await this.reply(Config.sydney, true)
|
||||
}
|
||||
|
||||
async setAdminPassword(e) {
|
||||
async setAdminPassword (e) {
|
||||
if (e.isGroup || !e.isPrivate) {
|
||||
await this.reply('请私聊发送命令', true)
|
||||
return true
|
||||
|
|
@ -1264,7 +1144,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
return false
|
||||
}
|
||||
|
||||
async setUserPassword(e) {
|
||||
async setUserPassword (e) {
|
||||
if (e.isGroup || !e.isPrivate) {
|
||||
await this.reply('请私聊发送命令', true)
|
||||
return true
|
||||
|
|
@ -1274,7 +1154,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
return false
|
||||
}
|
||||
|
||||
async saveAdminPassword(e) {
|
||||
async saveAdminPassword (e) {
|
||||
if (!this.e.msg) return
|
||||
const passwd = this.e.msg
|
||||
await redis.set('CHATGPT:ADMIN_PASSWD', md5(passwd))
|
||||
|
|
@ -1282,7 +1162,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('saveAdminPassword')
|
||||
}
|
||||
|
||||
async saveUserPassword(e) {
|
||||
async saveUserPassword (e) {
|
||||
if (!this.e.msg) return
|
||||
const passwd = this.e.msg
|
||||
const dir = 'resources/ChatGPTCache/user'
|
||||
|
|
@ -1318,7 +1198,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('saveUserPassword')
|
||||
}
|
||||
|
||||
async adminPage(e) {
|
||||
async adminPage (e) {
|
||||
if (!Config.groupAdminPage && (e.isGroup || !e.isPrivate)) {
|
||||
await this.reply('请私聊发送命令', true)
|
||||
return true
|
||||
|
|
@ -1327,7 +1207,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
await this.reply(`请登录${viewHost + 'admin/settings'}进行系统配置`, true)
|
||||
}
|
||||
|
||||
async userPage(e) {
|
||||
async userPage (e) {
|
||||
if (!Config.groupAdminPage && (e.isGroup || !e.isPrivate)) {
|
||||
await this.reply('请私聊发送命令', true)
|
||||
return true
|
||||
|
|
@ -1336,12 +1216,12 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
await this.reply(`请登录${viewHost + 'admin/dashboard'}进行系统配置`, true)
|
||||
}
|
||||
|
||||
async setOpenAIPlatformToken(e) {
|
||||
async setOpenAIPlatformToken (e) {
|
||||
this.setContext('doSetOpenAIPlatformToken')
|
||||
await e.reply('请发送refreshToken\n你可以在已登录的platform.openai.com后台界面打开调试窗口,在终端中执行\nJSON.parse(localStorage.getItem(Object.keys(localStorage).filter(k => k.includes(\'auth0\'))[0])).body.refresh_token\n如果仍不能查看余额,请退出登录重新获取刷新令牌')
|
||||
}
|
||||
|
||||
async doSetOpenAIPlatformToken() {
|
||||
async doSetOpenAIPlatformToken () {
|
||||
let token = this.e.msg
|
||||
if (!token) {
|
||||
return false
|
||||
|
|
@ -1351,7 +1231,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('doSetOpenAIPlatformToken')
|
||||
}
|
||||
|
||||
async exportConfig(e) {
|
||||
async exportConfig (e) {
|
||||
if (e.isGroup || !e.isPrivate) {
|
||||
await this.reply('请私聊发送命令', true)
|
||||
return true
|
||||
|
|
@ -1383,7 +1263,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
return true
|
||||
}
|
||||
|
||||
async importConfig(e) {
|
||||
async importConfig (e) {
|
||||
if (e.isGroup || !e.isPrivate) {
|
||||
await this.reply('请私聊发送命令', true)
|
||||
return true
|
||||
|
|
@ -1392,7 +1272,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
await e.reply('请发送配置文件')
|
||||
}
|
||||
|
||||
async doImportConfig(e) {
|
||||
async doImportConfig (e) {
|
||||
const file = this.e.message.find(item => item.type === 'file')
|
||||
if (file) {
|
||||
const fileUrl = await this.e.friend.getFileUrl(file.fid)
|
||||
|
|
@ -1456,7 +1336,7 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie
|
|||
this.finish('doImportConfig')
|
||||
}
|
||||
|
||||
async switchSmartMode(e) {
|
||||
async switchSmartMode (e) {
|
||||
if (e.msg.includes('开启')) {
|
||||
if (Config.smartMode) {
|
||||
await e.reply('已经开启了')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue