diff --git a/apps/chat.js b/apps/chat.js index 2f934bef..e8a1e58f 100644 --- a/apps/chat.js +++ b/apps/chat.js @@ -823,6 +823,15 @@ export class chatgpt extends plugin { } } let response = chatMessage?.text?.replace('\n\n\n', '\n') + if (handler.has('chatgpt.response.post')) { + handler.call('chatgpt.response.post', this.e, { + content: response, + use, + prompt + }, true).catch(err => { + logger.error('后处理器出错', err) + }) + } let mood = 'blandness' if (!response) { await this.reply('没有任何回复', true) diff --git a/apps/button.js b/apps/post/button.js similarity index 99% rename from apps/button.js rename to apps/post/button.js index d443ba4b..8e4f4770 100644 --- a/apps/button.js +++ b/apps/post/button.js @@ -1,5 +1,5 @@ -import plugin from '../../../lib/plugins/plugin.js' -import { Config } from '../utils/config.js' +import plugin from '../../../../lib/plugins/plugin.js' +import { Config } from '../../utils/config.js' const PLUGIN_CHAT = 'ChatGpt 对话' const PLUGIN_MANAGEMENT = 'ChatGPT-Plugin 管理' diff --git a/apps/post/example_handler.js b/apps/post/example_handler.js new file mode 100644 index 00000000..b0004735 --- /dev/null +++ b/apps/post/example_handler.js @@ -0,0 +1,26 @@ +import plugin from '../../../../lib/plugins/plugin.js' + +/** + * 示例后处理器。你可以在example下面写一个新的。默认会调用所有此key的处理器 + */ +export class ChatGPTResponsePostHandler extends plugin { + constructor () { + super({ + name: 'chatgpt文本回复后处理器', + priority: 999999, + namespace: 'chatgpt-plugin', + handler: [{ + key: 'chatgpt.response.post', // key必须是chatgpt.response.post + fn: 'postHandler' + }] + }) + } + + async postHandler (e, options, reject) { + const { content, use, prompt } = options + // 你可以在这里处理返回的文本,比如使用自定义的语音api来合成语音 + // const audio = customTTS(content) + // e.reply(segment.audio(audio)) + // 返回值会被忽略 + } +}