chatgpt-plugin/apps/management.js
2025-03-14 19:52:05 +08:00

41 lines
2 KiB
JavaScript

import ChatGPTConfig from '../config/config.js'
import { createCRUDCommandRules, createSwitchCommandRules } from '../utils/command.js'
export class ChatGPTManagement extends plugin {
constructor () {
const cmdPrefix = ChatGPTConfig.basic.commandPrefix
super({
name: 'ChatGPT-Plugin管理',
dsc: 'ChatGPT-Plugin管理',
event: 'message',
priority: 20,
rule: [
{
reg: `^${cmdPrefix}管理面板$`,
fnc: 'managementPanel',
permission: 'master'
},
{
reg: `^${cmdPrefix}结束(全部)?对话$`,
fnc: 'destroyConversation'
}
]
})
this.rules.push(...[
...createCRUDCommandRules.bind(this)(cmdPrefix, '渠道', 'channels'),
...createCRUDCommandRules.bind(this)(cmdPrefix, '预设', 'presets'),
...createCRUDCommandRules.bind(this)(cmdPrefix, '工具', 'tools'),
...createCRUDCommandRules.bind(this)(cmdPrefix, '处理器', 'processors'),
createSwitchCommandRules.bind(this)(cmdPrefix, '(预设切换|其他人切换预设)', 'customPreset', 1),
createSwitchCommandRules.bind(this)(cmdPrefix, '(调试|debug)(模式)?', 'debug'),
...createCRUDCommandRules.bind(this)(cmdPrefix, '预设切换黑名单', 'blackCustomPreset', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '预设切换白名单', 'whiteCustomPreset', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '输入屏蔽词', 'blackPromptWords', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '输出屏蔽词', 'blackResponseWords', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '黑名单群', 'blackGroups', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '白名单群', 'whiteGroups', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '黑名单用户', 'blackUsers', false),
...createCRUDCommandRules.bind(this)(cmdPrefix, '白名单用户', 'whiteUsers', false)
])
}
}