Skip to content

Commit

Permalink
fix: move files
Browse files Browse the repository at this point in the history
  • Loading branch information
ikechan8370 committed Oct 11, 2024
1 parent d08e9e4 commit 4790285
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 28 deletions.
4 changes: 2 additions & 2 deletions apps/post/button.js → apps/button.js
Original file line number Diff line number Diff line change
@@ -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 管理'
Expand Down
2 changes: 2 additions & 0 deletions apps/chat.js
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,9 @@ export class chatgpt extends plugin {
}
}
let response = chatMessage?.text?.replace('\n\n\n', '\n')

if (handler.has('chatgpt.response.post')) {
logger.debug('调用后处理器: chatgpt.response.post')
handler.call('chatgpt.response.post', this.e, {
content: response,
use,
Expand Down
48 changes: 48 additions & 0 deletions apps/example_handler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@

/**
* 示例后处理器。你可以在example下面写一个新的。默认会调用所有此key的处理器
*/
export class ChatGPTResponsePostHandler extends plugin {
constructor () {
super({
name: 'chatgpt文本回复后处理器',
priority: -100,
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.record(audio))
// 返回值会被忽略
const response = await fetch('https://api.fish.audio/v1/tts', {
method: 'POST',
headers: {
Authorization: 'Bearer 5e614bcc80a34789837fdb0f1269b2c4',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: content,
reference_id: '1aacaeb1b840436391b835fd5513f4c4',
format: 'mp3',
latency: 'normal'
})
})

if (!response.ok) {
throw new Error(`无法从服务器获取音频数据:${response.statusText}`)
}

const audio = await response.blob()
// to Buffer
const buffer = await audio.arrayBuffer()
e.reply(segment.record(Buffer.from(buffer)))
// e.reply(segment.record(audio))
}
}
26 changes: 0 additions & 26 deletions apps/post/example_handler.js

This file was deleted.

0 comments on commit 4790285

Please sign in to comment.